運維工程師必須掌握的基礎技能有哪些?

轉載自:https://www.zhihu.com/topic/19648078
技能

1. Linux基礎
包括對Linux總體的理解/使用和基本命令:html

  • 基本操做命令:Google,如Linux command cheat sheet
  • 熟悉至少一個內置編輯器: vi, nano
  • 至少熟悉一個發行版(或系列),建議做爲服務器經常使用的如Centos, Debian, Ubuntu,能夠了解多個經常使用發行版

2. 運維的命令:linux

運維相關的工具(命令),瞭解它能解決不少問題。
前幾天剛回答了一個問題:如何才能更深刻的學習linux?
裏面的圖在這裏也能夠用到:

能夠對着圖對學習瞭解這些命令 (<strike>抱歉圖片的原始來源我沒有搜到,若是有朋友知道,麻煩告訴我,謝謝</strike> 感謝@jeremy yang 的提示,已經搜到來源brendangregg.com/linuxpslideshare.net/brendang)。
另外我我的也會對平時用到的這些工具作一個整理和記錄,總結到個人我的維基上:Wiki · Tanky Woo
3. 基礎服務:ios

  • 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. 進取心/不斷學習
運維的知識範圍很廣,要不斷學習。遇到問題,作好分析記錄,過後還能夠在部門內分享交流。
這也是我爲何熱衷於寫技術博客和維基的緣由,好記性不如爛筆頭。記錄整理的過程也是一個思考昇華的過程。


再給一個乾貨,咱們公司(知道創宇)的技能表: blog.knownsec.com/Known,裏面的技能點很是全面,也包含了運維相關
相關文章
相關標籤/搜索