華文網

我是如何從桌面維護轉到Linux系統運維

之前一直從事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上面的必備神氣,需要掌握基本操作方法、快速鍵。

2、Git版本控制,很多人可能覺得沒有必要,這個是開發才學的嘛,其實不然,今天Devops的日漸崛起,對於傳統運維工程師來說是一個挑戰,也是一個機遇。工程師們日常需要寫大量的腳本,可以使用Git來管理、備份常用代碼、腳本。

3、Shell程式設計,寫腳本當然需要Shell啦,這也是基礎。同上,作為Devops來說,再學習一門高效的指令碼語言也是必需的,這裡推薦Python,不過這是後話,先把Shell掌握了再說吧。

中級知識:

其實如果你把上面的要求掌握到80%,基本上算入門了,接下來需要去學習一些硬體知識,做運維工程師會經常和網路設備,伺服器等硬體設備打交道,對於硬體知識也要做到瞭解。特別是判斷硬體的優劣的核心參數,比如記憶體的存儲介質、容量、速度、同位,CPU的製造工藝、核數執行緒、內外頻、緩存等等。我們在工作中不僅僅只需要“軟知識”,“硬知識”也是必不可少的關鍵技能,特別是當公司業務劇增,需要新增機房、伺服器時,就要用很多“硬知識”了,網路傳輸介質的選擇、UPS等等,都應該有所瞭解。

之前學習的都是基礎的“軟知識”,接下來就要學習一些高級的“軟知識”。掌握最常用的服務搭建,每個公司也業務架構都不太一樣,但是常用的服務也就那些,簡單來說業務架構就是各種服務不同形式的組合。對於Linux運維工程師來說,你公司需要搭建各種伺服器,比如檔共用伺服器、Git伺服器、資料庫伺服器、常見Web架構的部署、大公司可能還需要DHCP伺服器等等。

看著這麼多是不是覺得學得東西好多呀!別怕,對於常見的服務搭建可以先查看下這裡有不有,如果有興趣可以直接學,拿去不謝!http://www.linuxprobe.com 。

這裡沒有怎麼辦?一般來說你搭建某類伺服器,都會有官方的指導手冊。比如MySQL伺服器的搭建、Git伺服器搭建等等。Google到官網按照Tutorial手冊一步一步來(翻*牆自己找梯子,百度到官網也行),基本上八九不離十的,當然也有很多網友現成的帖子可以直接翻翻看。這裡需要注意的是,Linux的版本不一樣,服務安裝會有一些差異,當你遇到問題搜索的時候,建議加上Linux的發行版本本,這樣可以更加精准的匹配問題,你可以放心,你遇到的問題,你前面的無數人已經遇到過了(樂於分享回饋後來人)。

在這裡還想結合工作經驗多囉嗦幾句,前面說的

Devops,也是將來的一個趨勢,Linux運維工程師將不再是守著機房、伺服器、苦逼的7*24小時值班,自動化監控、自動化運維是未來的發展方向,因此建議多學習一門開發語言,按目前國內外互聯網的發展,當機房的機器多了以後,自己對著每一台去維護,是不顯示的,所以需要接觸自動化運維,推薦學Python,簡單,快速!

中級知識:

其實如果你把上面的要求掌握到80%,基本上算入門了,接下來需要去學習一些硬體知識,做運維工程師會經常和網路設備,伺服器等硬體設備打交道,對於硬體知識也要做到瞭解。特別是判斷硬體的優劣的核心參數,比如記憶體的存儲介質、容量、速度、同位,CPU的製造工藝、核數執行緒、內外頻、緩存等等。我們在工作中不僅僅只需要“軟知識”,“硬知識”也是必不可少的關鍵技能,特別是當公司業務劇增,需要新增機房、伺服器時,就要用很多“硬知識”了,網路傳輸介質的選擇、UPS等等,都應該有所瞭解。

之前學習的都是基礎的“軟知識”,接下來就要學習一些高級的“軟知識”。掌握最常用的服務搭建,每個公司也業務架構都不太一樣,但是常用的服務也就那些,簡單來說業務架構就是各種服務不同形式的組合。對於Linux運維工程師來說,你公司需要搭建各種伺服器,比如檔共用伺服器、Git伺服器、資料庫伺服器、常見Web架構的部署、大公司可能還需要DHCP伺服器等等。

看著這麼多是不是覺得學得東西好多呀!別怕,對於常見的服務搭建可以先查看下這裡有不有,如果有興趣可以直接學,拿去不謝!http://www.linuxprobe.com 。

這裡沒有怎麼辦?一般來說你搭建某類伺服器,都會有官方的指導手冊。比如MySQL伺服器的搭建、Git伺服器搭建等等。Google到官網按照Tutorial手冊一步一步來(翻*牆自己找梯子,百度到官網也行),基本上八九不離十的,當然也有很多網友現成的帖子可以直接翻翻看。這裡需要注意的是,Linux的版本不一樣,服務安裝會有一些差異,當你遇到問題搜索的時候,建議加上Linux的發行版本本,這樣可以更加精准的匹配問題,你可以放心,你遇到的問題,你前面的無數人已經遇到過了(樂於分享回饋後來人)。

在這裡還想結合工作經驗多囉嗦幾句,前面說的

Devops,也是將來的一個趨勢,Linux運維工程師將不再是守著機房、伺服器、苦逼的7*24小時值班,自動化監控、自動化運維是未來的發展方向,因此建議多學習一門開發語言,按目前國內外互聯網的發展,當機房的機器多了以後,自己對著每一台去維護,是不顯示的,所以需要接觸自動化運維,推薦學Python,簡單,快速!