新技术论坛
搜索
查看: 1703|回复: 0
打印 上一主题 下一主题

Linux运维工程师必须掌握的基础技能有哪些?

[复制链接]
  • TA的每日心情
    开心
    2016-12-9 18:18
  • 签到天数: 85 天

    连续签到: 1 天

    [LV.6]常住居民II

    扫一扫,手机访问本帖
    楼主
    跳转到指定楼层
    发表于 2017-4-1 13:52:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

      这个问题挺好的,回答这个问题也是对自身的审查,看看自己还欠缺哪些。(所以我估计得好好思考下,也许下一刻我就会突然惊醒,发现我还是战⑤渣)
      首先限定在Linux运维工程师上
      回答仅代表我想到,不代表我都会
      技能:
      1、Linux基础
      包括对Linux整体的理解/使用和基本命令:
      了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)
      入门Linux:鸟哥的Linux私房菜.基础学习篇(第三版) (豆瓣) 个人认为鸟哥的这本书是一本非常好的入门书
      基本操作命令:Google,如Linux command cheat sheet
      熟悉至少一个内置编辑器: vi, nano
      至少熟悉一个发行版(或系列),建议作为服务器常用的如Centos, Debian, Ubuntu,可以了解多个常用发行版
      个人使用/开发尽量在Linux上,比如我前期选择了 Gentoo Welcome  Gentoo Linux  ,非常Cool的一个Linux发行版,配合官方的 Handbook Handbook:Main Page,可以学到很多东西
      2、运维的命令:
      运维相关的工具(命令),了解它能解决很多问题。
      前几天刚回答了一个问题:如何才能更深入的学习linux?
      里面的图在这里也可以用到:

      可以对着图对学习了解这些命令 (strike抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢/strike  感谢 @jeremy yang 的提示,已经搜到来源  [url=http://www.brendangregg.com/linuxperf.htmlhttp://www.slideshare.net/brenda ... -analysis-and-tools]http://www.brendangregg.com/linuxperf.htmlhttp://www.slideshare.net/brenda ... -analysis-and-tools[/url])。
      另外我个人也会对平时用到的这些工具做一个整理和记录,总结到我的个人维基上:Wiki  Tanky Woo
      3、基础服务:
      LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle)
      FTP
      DNS
      SAMBA
      EMAIL
      NTP
      DHCP
      ...
      可以本地搭建练练手
      这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的Linux私房菜 (豆瓣)
      4、运维平台工具:
      也在这个问题 如何才能更深入的学习linux? 里提到了:
      Nagios
      Puppet
      Zabbix
      Cacti
      SaltStack
      ....
      可以选择性的折腾下,因为这个涉及到业务,没有实际环境,很难去理解他们的功能和特点。
      5、脚本:
      必备:Shell
      额外:Python,Perl...
      6、底层:
      Linux C,内核
      7、网络:
      网络是非常重要的一块
      把TCP/IP协议详解多看几遍,理解。
      熟练使用tcpdump等抓包工具
      8、安全:
      防火墙配置,如 iptables, ipset
      9、硬件:
      接口类型
      查看硬件信息
      知道各类型服务器,如塔式、机架式、刀片式
      10、其它:
      了解更多特定技能要求的方式:
      Google搜Linux运维工程师 招聘,看看他们的需求。
      最后推荐一本书:Unix/Linux系统管理技术手册 UNIX/Linux 系统管理技术手册 (豆瓣)
      后续想到再做补充
      素养/处理方式:
      除了技能,我觉得素养(态度)也可以谈谈
      这个正好看到右边相关问题:运维工程师需要具备哪些性格特质?
      1、安全
      运维人员的权限很大,所以一定要保证帐号/私钥的安全。
      最好使用加密工具存储。比如truecrypt,1password
      基于本地存储。切勿用网盘,也不建议用lastpass等
      ssh私钥添加密码
      以上任何一点都很重要,否则弄丢了,风险会非常大。
      2、责任心
      如上面那个帖子里 @山大 提到的 Owner 意识
      遇到报警,第一时间处理,而不要等着他人去处理
      如果无法处理,应该第一时间让同事协助帮忙,而不要禁止报警,让问题掩盖
      3、细心
      你的任何一个操作,都可能造成系统的损坏、业务出问题。所以敲命令时一定要细心、再三确认。你敲的再快,也就节省那么一点时间,出了问题才是大事。
      4、推进/改善
      如果代码有问题,导致系统开销很大,比如负载,io等。应该第一时间和开发部门确认,要求优化代码。
      5、进取心/不断学习
      运维的知识范围很广,要不断学习。遇到问题,做好分析记录,事后还可以在部门内分享交流。
      这也是我为什么热衷于写技术博客和维基的原因,好记性不如烂笔头。记录整理的过程也是一个思考升华的过程。
      再给一个干货,我们公司(知道创宇)的技能表:http://blog.knownsec.com/Knownsec_RD_Checklist/v3.0.html,里面的技能点非常全面,也包含了运维相关


    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    手机版|Archiver|开发者俱乐部 ( ICP/ISP证:辽B-2-4-20110106号 IDC证:辽B-1-2-20070003号 )

    GMT+8, 2024-12-22 23:09 , Processed in 0.135913 second(s), 21 queries .

    X+ Open Developer Network (xodn.com)

    © 2009-2017 沈阳讯网网络科技有限公司

    快速回复 返回顶部 返回列表