當前位置:首頁 » 操作系統 » linux運維之道

linux運維之道

發布時間: 2022-06-23 07:49:11

linux運維工程師到底是怎樣一種存在

運維中關鍵技術點解剖:1 大量高並發網站的設計方案 ;2 高可靠、高可伸縮性網路架構設計;3 網站安全問題,如何避免被黑?4 南北互聯問題,動態CDN解決方案;5 海量數據存儲架構

一、什麼是大型網站運維?

首先明確一下,全文所講的」運維「是指:大型網站運維,與其它運維的區別還是蠻大的;然後我們再對大型網站與小型網站進行范圍定義,此定義主要從運維復雜性角度考慮,如網站規范、知名度、伺服器 量級、pv量等考慮,其它因素不是重點;因此,我們先定義伺服器規模大於1000台,pv每天至少上億(至少國內排名前10),如sina、、 QQ,http://51.com等等;其它小型網站可能沒有真正意義上的運維工程師,這與網站規范不夠和成本因素有關,更多的是集合網路、系統 、開發工作於一身的「復合性人才」,就如有些公司把一些合同采購都納入了運維職責范圍,還有如IDC網路規劃也納入運維職責。所以,非常重要一定需要明白:運維對其它關聯工種必須非常了解熟悉:網路、系統、系統開發、存儲,安全,DB等;我在這里所講的運維工程師就是指專職運維工程師。

我們再來說說一般產品的「出生」流程:

1、首先公司管理層給出指導思想,PM定位市場需求(或成熟應用)進行調研、分析、最終給出詳細設計。

2、架構師根據產品設計的需求,如pv大小預估、伺服器規模、應用架構等因素完成網路規劃,架構設計等(基本上對網路變動不大,除非大項目)

3、開發工程師將設計code實現出來、測試工程師對應用進行測試。

4、好,到運維工程師出馬了,首先明確一點不是說前三步就與運維工作無關了,恰恰相反,前三步與運維關系很大:應用的前期架構設計、軟/硬體資源評估申請采購、應用設計性能隱患及評估、IDC、服務性能\安全調優、伺服器系統級優化(與特定應用有關)等都需運維全程參與,並主導整個應用上線項目;運維工程師負責產品伺服器上架准備工作,伺服器系統安裝、網路、IP、通用工具集安裝。運維工程師還需要對上線的應用系統架構是否合理、是否具備可擴展性、及安全隱患等因素負責,並負責最後將產品(程序)、網路、系統三者進行拼接並最優化的組合在一起,最終完成產品上線提供用戶使用,並周而復使:需求->開發(升級)->測試->上線(性能、安全問題等之前預估外的問題隨之慢慢就全出來了)在這里提一點:網站開發模式與傳統軟體開發完全不一樣,網站一天開發上線1~5個升級版本是家常便飯,用戶體驗為王嘛,如果某個線上問題像M$ 需要1年解決,用戶早跑光了;應用上線後,運維工作才剛開始,具體工作可能包括:升級版本上線工作、服務監控、應用狀態統計、日常服務狀態巡檢、突發故障處理、服務日常變更調整、集群管理、服務性能評估優化、資料庫管理優化、隨著應用PV增減進行應用架構的伸縮、安全、運維開發工作:

a 、盡量將日常機械性手工工作通過工具實現(如服務監控、應用狀態統計、服務上線等等),提高效率。

b、解決現實中服務存在的問題,如高可靠性、可擴展性問題等。

c、大規模集群管理工具的開發,如1萬台機器如何在1分鍾內完成密碼修改、或運行指定任務?2000台伺服器如何快速安裝操作系統?各分布式IDC、存儲集群中數PT級的數據如何快速的存儲、共享、分析?等一系列挑戰都需運維工程師的努力。

在此說明一下其它配合工種情況,在整個項目中,前端應用對於網路/系統工程師來說是黑匣子,同時開發工程師職責只是負責完成應用的功能性開發,並對應用本身性能、安全性等應用本身負責,它不負責或關心網路/系統架構方面事宜,當然軟/硬體采購人員等事業部其它同事也不會關心這些問題,各司其職,但項目的核心是運維工程師~!所有其它部門的橋梁。

上面說了很多,我想大家應該對運維有一些概念了,在此打個比方吧,如果我們是一輛高速行駛在高速公路上的汽車,那運維工程師就是司機兼維修工,這個司機不簡單,有時需要在高速行駛過程中換輪胎、並根據道路情況換檔位、當汽車速度越來越快,汽車本身不能滿足高速度時對汽車性能調優或零件升級、高速行進中解決汽車故障及性能問題、時刻關注前方安全問題,並先知先覺的採取規避手段。這就是運維工作~!

最後說一下運維工程師的職責:」確保線上穩定「,看似簡單,但實屬不容易,運維工程師必須在諸多不利因素中進行權衡:新產品模式對現有架構及技術的沖擊、產品高頻度的升級帶來的線上BUG隱患、運維自動化管理承度不高導致的人為失誤、IT行業追求的高效率導致流程執行上的缺失、用戶增漲帶來的性能及架構上的壓力、IT行業寬松的技術管理文化、創新風險、互聯網安全性問題等因素,都會是網站穩定的大敵,運維工程師必須把控好這最後一關,需具體高度的責任感、原則性及協調能力,如果能做到各因素的最佳平衡,那就是一名優秀的運維工程師了。

另外在此聊點題外話,我在這里看到有很多人要sina、QQ、,http://51.com等聊自已的運維方面的經驗,其實這對於它們有點免為其難:

a、各公司自已網路架構、規模、或多或少還算是公司的核心秘密,要保密,另外,對於大家所熟知的通用軟體、架構,由於很多公司會根據自已實際業務需要,同時因為原版性能、安全性、已知bug、功能等原因,進行過二次開發(如apache,php,mysql ),操作系統內核也會根據不同業務類型進行定製的,如某些應用屬於運算型、某些是高IO型、或大存儲大內存型。根據這些特點進行內核優化定製,如sina就在 memcache上進行過二次開發,搞出了一個MemcacheDB,具體做得如何我們不談,但開源了,是值得稱贊的,國內公司對於開源基本上是索取,沒有貢獻;另外,伺服器也不是大家所熟知的型號,根據業務特點,大部份都是找DELL/HP/ibm進行過定製;另外,在分布式儲存方面都有自已解決方案,要不就是使用現成開源hadoop等解決方案,或自已開發。但90%都是借鑒google GFS的思想:分布式存儲、計算、大表。

b、各公司業務方向不一樣,會導致運維模式或方法都不一樣,如http://51.com和運維肯定區別很大,因為他們業務模式決定了其架構、伺服器量級、 IDC分布、網路結構、通用技術都會不一樣,主打新聞門戶的sina與主打sns的http://51.com運維模式差異就非常大,甚至職責都不大一樣;但有一點,通用技術及大致架構上都大同小異,大家不要太神化,更多的公司只是玩壘積木的游戲罷了,沒什麼技術含量。

c、如上面所講,目前大型網站運維還處於幼年時期理念和經驗都比較零散,沒有成熟的知識體系,可能具體什麼是運維,大家都要先思索一番,或壓根沒想過,真正討論也只是運維工作的冰山一角,局限於具體技術細節,或某某著名網站大的框架,真正運維體系化東西沒有,這也許是目前網上運維相關資料 比較少的原故吧。或者也是國內運維人員比較難招,比較牛的運維工程師比較少見的原因之一吧。

二、運維工作師需要什麼樣的技能及素質

做為一名運維工程師需要什麼樣的技能及素質呢,首先說說技能吧,如大家上面所看到,運維是一個集多IT工種技能與一身的崗位,對系統->網路 ->存儲->協議->需求->開發->測試->安全等各環節都需要了解一些,但對於某些環節需熟悉甚至精通,如系統 (基本操作系統的熟悉使用,*nix,windows ..)、協議、系統開發(日常很重要的工作是自動運維化相關開發、大規模集群工具開發、管理)、通用應用(如lvs、ha、web server 、db、中間件、存儲等)、網路,IDC拓樸架構;

技能方面總結以下幾點:

1、開發能力,這點非常重要,因為運維工具都需要自已開發,開發語言:perl、python、php(其中之一)、shell(awk,sed,expect….等),需要有過實際項目開發經驗,否則工作會非常痛苦。

2、通用應用方面需要了解:操作系統(目前國內主要是linux、bsd)、webserver相關 (nginx,apahe,php,lighttpd,java。。。)、資料庫(mysql,oralce)、其它雜七八拉的東東;系統優化,高可靠性;這些只是加分項,不需必備,可以邊工作邊慢慢學,這些東西都不難。當然在運維中,有些是有分工偏重點不一樣。

3、系統、網路、安全,存儲,CDN,DB等需要相當了解,知道其相關原理。

個人素質方面:

1、溝通能力、團隊協作:運維工作跨部門、跨工種工作很多,需善於溝通、並且團隊協作能力要強;這應該是現代企業的基本素質要求了,不多說。

2、工作中需膽大心細:膽大才能創新、不走尋常路,特別對於運維這種新的工種,更需創新才能促進發展;心細,運維工程師是網站admin,最高線上許可權者,一不小心就會遺憾終生或打入十八層地獄。

3、主動性、執行力、精力旺盛、抗壓能力強:由於IT行業的特性,變化快;往往計劃趕不上變化,運維工作就更突出了,比如國內各大公司伺服器往往是全國各地,哪裡便宜性價比高,就那往搬,進行大規模服務遷移(牽扯的伺服器成百上千台),這是一個非常頭痛的問題;往往時間 非常緊迫,如限1周內完成,這種情況下,運維工程師的主動性及執行力就有很高的要求了:計劃、方案、服務無縫遷移、機器搬遷上架、環境准備、安全評估、性能評估、基建、各關聯部門扯皮,7X24小緊急事故響應等。

4、其它就是一些基本素質了:頭腦要靈光、邏輯思維能力強、為人謙虛穩重、親和力、樂於助人、有大局觀。

5、最後一點,做網站運維需要有探索創新精神,通過創新型思維解決現實中的問題,因為這是一個處於幼年的職業(國外也一樣,但比國內起步早點),沒有成熟體系或方法論可以借鑒,只能靠大家自已摸索努力。

三、怎樣才算是一個合格的運維工程師

1、保證服務達到要求的線上標准,如99.9%;保證線上穩定,這是運維工程師的基本責職所在。

2、不斷的提升應用的可靠性與健壯性、性能優化、安全提升;這方面非常考驗主動性和創新思維。

3、網站各層面監控、統計的覆蓋度,軟體、硬體、運行狀態,能監控的都需要監控統計,避免監控死角、並能實時了解應用的運轉情況。

4、通過創新思維解決運維效率問題;目前各公司大部份運維主要工作還是依賴人工操作干預,需要盡可能的解放雙手。

5、運維知識的積累與沉澱、文檔的完備性,運維是一個經驗性非常強的崗位,好的經驗與陷阱都需積累下來,避免重復性范錯。

6、計劃性和執行力;工作有計劃,計劃後想法設法達到目標,不找借口。

7、自動化運維;能對日常機械化工作進行提煉、設計並開發成工具、系統,能讓系統自動完成的盡量依靠系統;讓大家更多的時間用於思考、創新思維、做自已喜歡的事情。

以上只是技術上的一些層面,當然個人意識也是很重要的。

四、運維職業的迷惘、現狀與發展前景

運維崗位不像其它崗位,如研發工程師、測試工程師等,有非常明確的職責定位及職業規劃,比較有職業認同感與成就感;而運維工作可能給人的感覺是哪方面都了解一些,但又都比上專職工程師更精通、感覺平時被關注度比較低(除非線上出現故障),慢慢的大家就會迷惘,對職業發展產生困惑,為什麼會有這種現象呢?除了職業本身特點外,主要還是因為對運維了解不深入、做得不深入導致;其實這個問題其它崗位也會出現,但我發現運維更典型,更容易出現這個問題;

針對這個問題我談一下網站運維的現狀及發展前景(也在思考中,可能不太深入全面,也請大家斧正補充)

運維現狀:

1、處於剛起步的初級階段,各大公司有此專職,但重視或重要程度不高,可替代性強;小公司更多是由其它崗位來兼顧做這一塊工作,沒有專職,也不可能做得深入。

2、技術層次比較低;主要處於技術探索、積累階段,沒有型成體系化的理念、技術。

3、體力勞動偏大;這個問題主要與第二點有關系,很多事情還是依靠人力進行,沒有完成好的提練,對於大規模集群沒有成熟的自動化管理方法,在此說明一下,大規模集群與運維工作是息息相關的如果只是百十來台機器,那就沒有運維太大的生存空間了。

4、優秀運維人才的極度缺乏;目前各大公司基本上都靠自已培養,這個現狀導致行業內運維人才的流動性非常低,非常多好的技術都局限在各大公司內部,如 google 50萬台機器科學的管理,或者國內互聯公司top 10 的一些運維經驗,這些經驗是非常有價值的東西並決定了一個公司的核心競爭力;這些問題進而導致業內先進運維技術的流通、貫通、與借簽,並最終將限制了運維發展。

5、很多優秀的運維經驗都掌握在大公司手中;這不在於公司的技術實力,而在於大公司的技術規模、海量PV、硬體規模足夠大,如可怕的流量、 http://51.com海量數據~~~~這些因素決定了他們遇到的問題都是其它中/小公司還沒有遇到的,或即將遇到。但大公司可能已有很好的解決方案或系統。

發展前景:

1、從行業角度來看,隨著中國互聯網的高速發展(目前中國網民已躍升為全球第一)、網站規模越來越來大、架構越來越復雜;對專職網站運維工程師、網站架構師的要求會越來越急迫,特別是對有經驗的優秀運維人才需求量大,而且是越老越值錢;目前國內基本上都是選擇畢業生培養(限於大公司),培養成本高,而且沒有經驗人才加入會導致公司技術更新緩慢、影響公司的技術發展;當然,畢業生也有好處:白紙一張,可塑性強,比較認同並容易融入企業文化。

2、從個人角度,運維工程師技術含量及要求會越來越高,同時也是對公司應用、架構最了解最熟悉的人、越來越得到重視。

3、網站運維將成為一個融合多學科(網路、系統、開發、安全、應用架構、存儲等)的綜合性技術崗位,給大家提供一個很好的個人能力與技術廣度的發展空間。

4、運維工作的相關經驗將會變得非常重要,而且也將成為個人的核心競爭力,具備很好的各層面問題的解決能力及方案提供、全局思考能力等。

5、特長發揮和興趣的培養;由於運維崗位所接觸的知識面非常廣闊,更容易培養或發揮出個人某些方面的特長或愛好,如內核、網路、開發、資料庫等方面,可以做得非常深入精通、成為這方面的專家。

6、如果真要以後不想做運維了,轉到其它崗位也比較容易,不會有太大的局限性。當然了,你得真正用心去做。

7、技術發展方向:網站/系統架構師。

五、運維關鍵技術點解剖

1、 大規模集群管理問題

首先我們先要明確集群的概念,集群不是泛指各功能伺服器的總合,而是指為了達到某一目的或功能的伺服器、硬碟 資源的整合(機器數大於兩台),對於應用來說它就是一個整體,目前常規集群可分為:高可用性集群(HA),負載均衡集群(如lvs),分布式儲、計算存儲集群(DFS,如google gfs ,yahoo hadoop),特定應用集群(某一特定功能伺服器組合、如db、cache層等),目前互聯網行業主要基於這四種類型;對於前兩種類似,如果業務簡單、應用上post操作比較少,可以簡單的採用四層交換機 解決(如f5),達到服務高可用/負責均衡的作用,對於資源緊張的公司也有一些開源解決辦法如lvs+ha,非常靈活;對於後兩種,那就考驗公司技術實力及應用特點了,第三種DFS主要應用於海量數據應用上,如郵件、搜索等應用,特別是搜索要求就更高了,除了簡單海量存儲,還包括數據挖掘、用戶行為分析;如 google、yahoo就能保存分析近一年的用戶記錄數據,而應該少於30天、soguo就更少了。。。這些對於搜索准備性、及用戶體驗是至關重要的。

接下來,我們再談談如何科學的管理集群,有以下關鍵幾點:

I、監控

主要包括故障監控和性能、流量、負載等狀態監控,這些監控關繫到集群的健康運行,及潛在問題的及時發現與干預;

a、服務故障、狀態監控:主要是對伺服器自身、上層應用、關聯服務數據交互監控;例如針對前端web server,我們就可以有很多種類型的監控,包括應用埠 狀態監控,便於及時發現伺服器或應用本身是否crash、通過icmp包探測伺服器健康狀態,更上層可能還包括應用各頻道業務的監控,常用方法是採用面業特徵碼進行判斷,或對重點頁面進行簽名,以網站被黑篡改(報警、並自動恢復被篡改數據)等等,這些只是一部份,還有N多監控方式,依應用特點而定,還有一些問題需解決,如集群過大,如何高性能的進行監控也是一個現實問題。

b、其它就是集群狀態類的監控或統計,為我們合理管理調優集群提供數據參考、包括服務瓶頸、性能問題、異常流量、攻擊等問題。

II、故障管理

a、硬體故障問題;對於成百上千或上萬機器的N多集群,伺服器死機、硬體故障概率是非常大的,幾乎每時每刻都有服務硬體問題,死機、硬碟損壞、電源、內存、交換機。針對這種情況,我們在設計網站架構時需要充分考慮到這些問題,並將其視為常態;更多的依靠應用的冗餘機制來規避這種風險,但給系統工程師足夠寬裕的處理時間。(如google不是號稱同時死800台機器,服務不會受到任何影響嗎);這就是考驗運維工程師及網站架構師功能的地方了,好的設計能達到google所描述自恢復能力,如gfs,糟糕的設計那就是一台伺服器的死機可能會造成大面積服務的連鎖故障反映,直接對用戶拒絕響應。

b、應用故障問題;可能是某一bug被觸發、或某一性能閥值被超越、攻擊等情況不一而定,但重要的一點,是要有對這些問題的預防性措施,不能想當然,它不會出問題,如真出問題了,如何應對?這需要運維工程師平時做足功夫,包括應急響應速度、故障處理的科學性、備用方案的有效等。

III、自動化

自動化:簡而言之,就是將我們日常手動進行的一些工作通過工具,系統自動來完成,解放我們的雙手及枯燥的重復性勞動,例如:沒有工具前,我們安裝系統需要一台一台裸機安裝,如2000台,可能需要10人/10天,搞爛N張光碟,人力成本更大。。。而現在通過自動化工具,只需幾個簡單命令 就能搞定、還有如機器人類程序,自動完成以往每天人工干預的工作,使其自動完成、匯報結果,並具備一定的專家系統能力,能做一些簡單的是/非判斷、優化選擇等。。。這些好處非常明顯不再多說。。。應該說,自動化運維是運維工程師職業化的一個追求,利已利公,雖然這是一個異常艱巨的任務:不斷變更的業務、不規范化的應用設計、開發模式、網路架構變更、IDC變更、規范變動等因素,都可能會對現有自動化系統產生影響,所以需要模塊化、介面化、變因參數化等因此,自動化相關工作,是運維工程師的核心重點工作之一,也是價值的體現。

㈡ 關於怎麼學Linux運維

1. 系統的學習非常重要,這個行業不拼基礎和學歷,你有多努力就有多少回報。不管你基礎多差,找一本系統的書籍從頭到尾的看一遍,不管能不能看懂至少混個臉熟。如果你覺得很吃力,可以去找找網路上的視頻教程。切記看視頻是效率最低的學習方法但卻是最容易入門的自學方法。
2. 圖形化界面只是用來給小白玩的,如果想賺錢請不要碰GUI;
3. 學會提問,多提問多思考,自己尋找答案不要輕易求助於他人,學會使用谷歌,如果你確實不會谷歌那就網路吧,反正有時候用了確實會死。大神確實都很忙,沒空搭理小白問題;
1. 突破英文障礙,計算機英文常用語不超過2000個,看久了就會了,即使CET-4沒過;
2. 這個行業是留給天生堅韌的朋友,堅持就是勝利,想好了就走下去,否則請不要邁出第一步。
3. 學會溝通,學會寫作,並堅持寫作。
4. 如果你想節省時間,早日拿高薪,我們有專業的Linux運維全體系課程和業內名師指導,幫你事半功倍,早日拿高薪!
有的朋友說,我想要更進一步,想要成為一名專業的Linux高級運維人員,那麼我要怎麼辦呢?
如果你有機會和條件,並且過了選擇的門檻,那在前三年生活質量不受影響的前提下,不要考慮自己能賺多少錢,在從業的前幾年以能學到技能為主,多積累實操經驗。
如果你在第一步「快速」入門的門檻徘徊不前,那就果斷報班吧。你的青春還有幾年能被耽誤亦或早沒有了!傻子才和時間過不去!
投資自己就是最大的賺

㈢ linux有哪些發展方向,望前輩們指條道

1、Linux嵌入式開發
這個就是通過移植Linux到硬體平台上,然後寫一些應用程序。這個相對來說簡單不少,也好入門,薪水也行,但是工資的成長上限比較低,軟硬通吃之後才能高薪,也好自己單干。
2、Linux運維
Linux運維工作很火,一般大公司運維還要懂內核以及C編程之類的,但是小公司完全就是打雜的。也用不到多少開發的知識,如果說開發是DPS,運維更像是輔助加血什麼的,這個可以報個班考個RHCE來入行,薪水起點應該是最低的吧。
3、Linux伺服器開發
如果是用C/C++之類的話,要求也很高。因為互聯網行業才人流動性相對大,所以工資可觀,特別是對優化延遲什麼的了解很深入的,發展前景是最好的。這個招聘量較少,但相對內核來說多些,專業知識要求比較全面,並且深入研究還有分布式、並行演算法、集群之類的方向,想要發展的好幾乎CS的基礎科目都要有非常深入的理解。
4、Linux內核開發
這里基本都是比較有難度的,像華為、小米這種的硬體公司一般有這個職位,工資也是很高的,知識相對單一,但是操作系統底層的硬體更新也比較快,操作系統理論也很靈活,深入不容易,主要研究的方向可能和職位也比較相關。
5、雲運維
實際上也是運維的一種。對硬體的安裝的要求應該比較少,對原理性的東西也要求比較高,我記得前些天還在培訓機構上看到有紅帽雲認證的,可以去考一個,小公司對雲還是有需求的,工資應該比3高點,具體我也不清楚。
6、雲平台開發
現在大的雲平台基本都是基於Linux的KVM的,這個也是軟硬兼修,並且還要求掌握虛擬化技術,公司也少。國內主要有網路、華為、阿里、騰訊一些大公司在搞,門檻高,需要的知識也比較多,大公司,自然待遇也不錯。

㈣ 如何學習linux

1、學習linux要學的內容很多,很多東西必須了解其機制,所以並不單單的如windows那樣傻瓜式的學習,因為windows本身就是針對不懂電腦的人群。。
2、精通這種詞很難定義,反正要學的東西很多。
3、在windows下安裝虛擬機對於新手學習linux較方便,在linux安裝windows虛擬機(我的經驗是卡,我用的是vmware 而且不是一般的卡) ,起初條件差,自己裝了雙系統,後來就買兩台電腦,一台LINUX一台WINDOWS。

下面就是詳細的說一下。。
一.為什麼要學linux?
當然最重要是愛好和興趣!如果你這種必要學,或者根本不喜歡,請不要浪費時間,你學也學不好!
二.起步
你應該為自己創造一個學習linux的環境--在電腦上裝一個linux或unix
如何選擇版本:北美用redhat,歐洲用SuSE,桌面mandrake較多,而debian是技術最先進的linux開發人員中用debian的最多,其次是redhat,從全球linux各應用領域市場份額來看無疑redhat是最多的,此外還有很多出名的發行版本,不再列舉。
對於初學linux的人來說,我建議是使用redhat,原因如下:
1)現在很多書都是以redhat為例講的,為了與書本協調一致
2)周圍的人都用redhat,交流比較方便
3)redhat應用范圍廣,有典型性和代表性
4)它易於使用和安裝,我們沒有必要把時間浪費在「裝系統」上而應集中精力學習最有用的東西。
【注】現在覺得RH很死板,AS,ES等用在伺服器上或許不錯,Personal desktop用mandrake,debian,suse都不錯,筆者現在用Mandrake,因為她長得漂亮:)
如果你並不打算深入學習linux,而是有諸如適應北京市政府辦公平台遷移到linux上這種需要,那麼中軟,紅旗等中文linux是不錯的選擇
我強烈建議:自己親自動手把linux裝到你的硬碟上,你必須學會獨立安裝linux系統的技能,對於現在的版本來說,其實跟裝WinXP一樣簡單
從此現在開始,請不要以windows的工作方式來考慮問題,應該嘗試挖掘linux身上的「天才unix」的氣質。
三.進階
掌握至少50個以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉Gnome/KDE等X-windows桌面環境操作
掌握.tgz.rpm.biz等軟體包的常用安裝方法
學習添加外設,安裝設備驅動程序(比如modem)
熟悉Grub/Lilo引導器及簡單的修復操作
熟悉系統固有目錄的名稱及公用
學會用mount命令訪問其他文件系統
了解vi,gcc,gdb等常用編輯器,編譯器,調試器
學習linux環境下的簡單組網
建議:買一本不需要太厚的linux教材,大致可以滿足要求(現在的書越來越多了,還帶很多圖,我當時可沒這么多書)
四.高級應用
澄清一些概念:linux的普通操作與真正的系統管理不能相提並論,後者需要很多知識
1.英語
即使你不學linux,我也強烈建議你學好英文[U.S.english]。因為實質上計算機語言就是英文和字元,所謂的多國語言只是外部包裝。你必須能無障礙的閱讀大量的英文技術文檔在搜索引擎找到的英文網站和網頁中熟練的檢索最好能有用英文直接交流的能力,擺脫了這個障礙,你的學習和理解速度就能快很多,你就有機會拉開和別人的差距。
2.shell[sed/awk]
shell是命令解釋器,是內核與用戶界面交流通道,shell寫的小腳本有點類似於win下的.bat但shell比.bat強大的多,shell不只是解釋命令,更是一種編程語言,有時候幾百行的c用shell幾十行就能代替完成工作,因為shell的工作方式建立在系統已有的眾多應用程序之上
這也是CS中的一個重要思想。此外,shell可以實現工作自動化,這個概念也比較重要sed,awk用來處理文本,歷來很常用。
3.Perl/PHP
漂亮的腳本, CGI的首選,比ASP好,應用面很廣
4.C\C++
C、C++是linux/unix的核心語言,系統代碼都是C寫的
5.ASM
系統底層及內核,硬體,設備驅動程序,嵌入式開發都需要。//走核心路線的話,c\c++,asm最重要
6.Java,Python,Tcl,XML
五、系統管理篇
在熟悉linux的基礎上還需要掌握至少一種unix。我首推Solaris,其次是FreeBSD比如運營級系統一般是Solaris+Oracle/DB2之類的學習apache、ssh、sendmail/Qmail、proftp/vsftp、Samba、Squid、MySQL/PostgreSQL/Oracle、Bind等各種應用伺服器的構架及電子商務的應用熟悉TCP/IP協議族,學習諸如apache+php+proftp+mysql+quota的實現以及大型區域網,分布式集群等各種企業級應用解決方案熟悉多用戶管理,資料庫管理,文件系統,邏輯存儲管理,日誌分析,備份與災難數據修復系統補丁,內核升級,以及在此基礎上的防火牆構架等以保障系統安全在內的各種系統管理技能。
我覺得,如果在此基礎上再掌握路由/交換設備便是一個不錯的系統管理員
各種基於linux的解決方案可參考相關書籍和文獻,必要時用google或各大linux站點站內搜索引擎尋找最新文檔,以避免錯誤和漏洞有幾本技術大全和技術內幕我認為都是這方面不錯的書
六、深入學習linux
我個人理解的讀linux內核需要的基礎:在此之前,希望先把應用層的東西學一下,那樣會比較好理解
1.C
如果學過潭浩強的大學教科書(除了編幾個數學模型好像什麼也做不了的那種),建議再看一下《The C Programming Language》Second Edition這本聖經(如果想學緩沖區溢出,這點C的功力可能是不夠的,還有<C陷阱與缺陷>,<C專家編程>,<C\C++深層探索>,反正經典書看多了是沒有壞處的)
2.asm (AT&T語法,保護模式)
保護模式下的比較復雜,基本上每本講內核的書都會有介紹有80x86 Intel語法的基礎就行,
有興趣可以看看Intel的官方網站
3.數據結構(離散數學)
計算機專業的核心課程,重要性我就不說了
4.操作系統原理
看懂這個再去讀linux吧
5.微機原理/組成原理(數字電路)
底層直接和硬體打交道,所以這個也要
6.了解linux/unix
我想至少你要會操作吧,了解unix的API
7.軟體工程/編譯原理

㈤ 幹了四年運維,但是都是初級的,現在想學 Linux 運維,不知道馬哥和老男孩哪個做得更好一些

首先,快速學習技能的問題:

快速學習本質上是有效的學習,在較短的時間內掌握一些真正有效的知識。這種技能的結合可以稱為學習方法。

我看過他們兩個的視頻,感覺是老男孩會教你如何使用它,並會告訴你一些具體的問題,哪些命令可以被執行,以及一些工作經驗。Margo教育告訴您為什麼要使用它,每個命令的原則和使用場景。兩種教學很好,如果你什麼都不知道,可以選擇任何一個,但是如果你有四年的經驗,我建議你去馬爾科教育,你將會有一個新的認知,你以前學過。例如,您可以使用ls來協調管道實現,並使用ls來協調它們之間的差異,這樣您就可以根據不同的場景選擇最佳的方法。

㈥ 哪位大神能提供下linux運維之道這本書的電子版pdf,387624239@qq。com,多謝

有linux運維之道的PDF

㈦ 最近想學linux運維 ,老男孩和馬哥哪個好

他們的課我都聽過,各有千秋,如果是0基礎小白,快速入手,老男孩教育比較好;老男孩教育是自己研發的課程,講的是生產環境的案例,通俗易懂,上手容易,公司不用的不講,比較實用。如果要考認證,走紅帽的體系的,馬哥的課可以聽聽,不建議一個初學者去馬哥

㈧ linux運維工程師都是干什麼啊 有發展嗎

昨天,在知乎上有小夥伴向小青咨詢關於:「Linux運維工程師的發展方向?賺高薪的運維人員都具備哪些常用技術?」的問題。今天,小編就簡單聊聊這些兩個話題,希望能夠幫助到迷茫的你!

一起康康Linux運維工程師的發展方向:

1、運維工程師



運維架構師平均薪資34.4k/月。

負責研發適合公司業務系統的通用基礎平台或組件,對研發能力有較高要求,需要具備產品線的運維經驗和豐富的系統架構知識;例如現在熱門的自動化運維方向,就需要開發適合自己公司需要的自動化平台,比如自動安裝平台,自動應用服務維護平台,自動更新配置平台等。這個崗位和系統架構師沒有明顯的界限,通常好的運維平台研發工程師也能適應架構師的工作。

下面將運維中需求學習或能讓你運維作業加分的技能稍做介紹。(這兩個技能,我認為真真真真挺好的)

1、編程開發

關於Linux平台下的運維人員,仍是引薦Shell加Perl的組合,究竟那麼多年過來了。這個組合一直在為各大網站的工程師們穩定的作業著。另外,Python也是一個十分值得引薦利器。這種言語具有十分簡捷而明晰的語法特色,適合完結各種高層任務,簡直能夠在所有的操作體系中運轉。現在,依據這種言語的相關技能正在飛速的開展,用戶數量急劇擴展,相關的資源十分多。

現階段,掌握一門開發語言已經成為高級運維工程師的必備技能。運維學開發,Python勢必是你不二之選。PYTHON被稱為膠水語言, 能滿足絕大部分自動化運維的需求,又能做後端 C/S 架構,又能用 WEB 框架快速開發出高大上的 WEB 界面,還能做機器學習。

2、網路設備

了解網路根底知識、網路通信協議和常見的網路設備是有必要的。建議把思科和華為這兩家的產品摸熟。

假如是在稍微大一點的公司作業或者哥們你就是在IDC混,那還得學會對企業區域網和廣域網進行規劃、完成和查看排錯,VLAN是有必要的。其他就是視頻、語音之類的網路效勞了。根底的都搞理解了之後還想進步自己朋友能夠去學一下CCNP或者H3CNE的課程。

以上就是小編今天為大家分享的關於「Linux運維工程師的發展方向?賺高薪的運維人員都具備哪些常用技術?」的文章。同時,小青還想說一句:「各個方向上的工程師發展到一定階段後,沒有明確的界限,需要同時具備較強的運維、架構、編程、演算法等能力,是一個要求很高的職業。但職業發展道路,必須循序漸進,一個好的運維工程師,肯定應當具備較強的開發能力,希望大家在發展過程中,具備了基礎的Linux知識之後,一定要學習一些開發技能,比如必備的shell編程能力,另外還要掌握一門高級語言,比如熱門的python語言,是一個不錯的選擇。」

【免責聲明:部分圖片及文字信息部分由小編整理自網路,旨在分享提供閱讀,如有侵權請聯系我們進行刪除。】

㈨ Linux運維怎麼樣現在rhce怎麼樣

我加培訓一共4年運維經驗。不知道有沒有資格說話。
做了半年IDC運維,做了1年多游戲運維,然後做了1年多應用運維,現在偏開發運維。另外我做的都是linux伺服器的,沒接觸過windows方面的運維。
總體感覺是工作慢慢偏向於技術化。以前門檻很低,慢慢的沒什麼能力的會被淘汰。
最開始1家400人的公司,用的都是物理機,租用機房 IT運維 + 游戲運維 + DBA運維 + 開發運維,要20人左右。
後來去的是一家3000人的公司,用的都是公有雲 + 私有雲的形式 , IT運維 + 系統運維 + DBA運維 + 開發運維 + 應用運維 + 安全運維,也就30人左右。很多簡單的工作漸漸被雲伺服器,虛擬化所替換。運維人員需要掌握的知識也在慢慢變化。而不是簡單的裝裝系統,看看監控,點點發布。
搭建大數據平台?搭建虛擬化平台?這些不也是運維的事情嗎?
可能分析數據什麼就是運營的事,說好聽點是大數據分析工程師的事。

熱點內容
android鍵盤隱藏 發布:2024-05-20 11:23:40 瀏覽:522
瘋狂點擊的點擊腳本 發布:2024-05-20 11:09:06 瀏覽:685
飯團文件夾 發布:2024-05-20 10:56:18 瀏覽:574
win10系統重置密碼是多少 發布:2024-05-20 10:47:51 瀏覽:992
java加包 發布:2024-05-20 10:39:12 瀏覽:713
網吧里的電影怎麼傳伺服器 發布:2024-05-20 10:31:12 瀏覽:809
新年解壓糖 發布:2024-05-20 09:50:55 瀏覽:55
以太坊價值在哪裡存儲 發布:2024-05-20 09:46:34 瀏覽:642
cgipython配置 發布:2024-05-20 09:29:06 瀏覽:865
在我的世界伺服器中隱身 發布:2024-05-20 09:07:46 瀏覽:972