-
1 # 老男孩IT教育
-
2 # 牛羊肉貿易
Linux運維是一個融合多學科的綜合性技術崗位(網路、系統、開發、安全、應用架構、儲存等)這要根據你個人想做什麼樣工作,然後著重學習linux的哪部分。
首先先介紹下學linux能找什麼工作?
按個人經驗介紹下常見的linux有哪些領域,並對應到什麼工作。
一、linux應用非常廣泛
這部分嚴格來說不能算是linux,只是跑在linux上的應用,大點的公司linux,windows都有版本,一般特質linux獨有的軟體或者更多在linux平臺上的。比如web,網路,IT等。職業包括 網管,運維,網站前後臺,企業IT部門等。
需要熟練使用linux各種配置和應用搭建和部署。大多是應用配置類的工種,後臺開發會有部分程式設計內容但一般是通用語言。相對來說,linux的基礎不需要太多,更多的是應用方面的知識。大部分網際網路公司和傳統公司IT化中都需要這類人。
二,學linux定製。
這部分涉及linux版本的使用者包較多,核心會有一些涉及。主要各種商業linux的訂製,服務等。比如redhat之類,不少是外國公司,國內大多招現場支援等。還有一類是windriver之類的系統軟體訂製。會涉及到開發工具,編譯器等。對linux的原理和機制要求比較清楚,有較豐富的應用經驗。還有一類是具體的產品開發公司,雖然會採用一些上面提到的系統軟體公司的產品但本身需要招一些懂這個的。比如中興,華為之類的。這部分需要寫大量程式碼,大多是c或者java。
三、學linux核心開發。
這部分主要是linux核心驅動的開發。幾乎全部是程式設計工作。主要是晶片公司,以及使用晶片的產品開發公司。前者如intel,marvell,後者如中興華為。
四、學習瞭解下android衍生品。
因為android包括慢慢火爆的tizen都用的linux核心,所以理由同3。所以手機晶片公司和手機開發公司也是linux開發者的僱主之一。比如高通,TI等.
回覆列表
對於一個不瞭解運維究竟是做什麼的同學,可能或多或少會對運維的工作內容打上錯誤的標籤,認為運維就是每天很苦逼的在機房工作,甚至可能幹著一些搬伺服器、上架伺服器、整理網線、打標籤、除錯網路裝置等一系列環節。
這麼一聽,肯定顯得地位很低端。可在實際工作中,Linux其實是至關重要的。學習 Linux 更多的是向系統層面、運維工程師方向發展,它的崗位主要包括:雲計算系統工程師、大資料運維工程師、運維開發工程師、資料庫運維工程師等等,都是 Linux 運維工程師的進階。
一、初級運維工程師
網際網路時代,人人都離不開網路。作為一名程式設計師來說,最起碼不需要你過多的對網路有深入的研究,對於一些最基本的網路知識是必須要有的。在找運維崗位的時候,網路部分也是必不可少的,簡單了梳理了一下:
1.網路技術與應用
計算機網路基礎:基本概念、網路功能和分類、網路發展史、網路協議和標準的區別、網路常見裝置及其功能、網路拓撲結構、常用的數值轉換方法;網路參考模型:OSI 和 TCP/IP 分層模型的結構、OSI 各層功能、資料傳輸過程、裝置與各層之間的關係;網路傳輸介質:製作雙絞線跳線、打接資訊模組、連線各種網路裝置、光纖的特點分類和應用、測試網路連通性;網路佈線:綜合佈線常識與材料、佈設網路線纜、網路佈線的測試與驗收、佈線設計圖紙;交換機 / 路由器的基本原理與配置:(常見的品牌:Cisco、HUAWEI、H3C等)、MAC 地址理論、乙太網幀結構、交換機轉發原理及基本配置等;IP 地址理論及應用:IP 地址和子網掩碼概念及分類、配置 IP 地址、實現路由器間互通;網路層協議及應用:資料包格式、ARP/ICMP 協議原理;靜態路由:路由的基本原理、配置靜態/預設路由、排查路由的故障問題;網路接入:網路接入方式、配置寬頻路由器及處理常見故障;WLAN 的部署與安全:無線 AP、WLAN 基本常識;裝置管理:硬體組成、路由器的啟動過程、恢復裝置密碼、交換機的 IOS 備份、恢復、升級方法、路由器交換機的產品體系ARP 攻擊與欺騙:防禦攻擊及欺騙、ARP 防火牆、攻擊和欺騙報文、抓包軟體;虛擬區域網 VLAN:VLAN 原理、TRUNK 原理、配置 VLAN 和 TRUNK單臂路由和 VTP:單臂路由的通訊過程、配置單臂路由和 VTP;2.Linux 基礎
系統安裝及服務控制:作業系統的安裝方法、Linux 系統引導過程、控制 Linux 系統中的服務、最佳化 Linux 的啟動任務;目錄和檔案管理:常見的基本命令、檢視檔案內容方法、備份與恢復文件方法、VIM 文字編輯器的方法;安裝及管理程式:Linux 命令與應用程式的關係、Linux 應用程式的組成、軟體包的封裝型別、RPM 包管理工具(概述、格式、檢視、安裝、升級、解除安裝、維護等)、原始碼編譯安裝程式(編譯安裝的基本過程:解包、配置、安裝、使用);賬號和許可權管理:管理使用者賬號和組賬號(使用者賬號、組賬號、UID 和 GID 號)、使用者賬號/組賬號管理(使用者賬號/組賬號檔案、新增 / 刪除 / 修改使用者賬號)、查詢賬號、檢視目錄和檔案的屬性、設定目錄和檔案的許可權、設定目錄和檔案的歸屬;磁碟和檔案系統管理:檢查並確認新硬碟、規劃硬碟分割槽、建立 / 掛載 / 解除安裝 檔案系統、設定檔案系統的自動掛載、檢視磁碟使用情況、LVM 邏輯卷管理、LVM 管理命令、LVM 應用、設定磁碟配額(作用範圍、限制物件、限制方法等)、磁碟配額管理;程序和計劃任務管理:檢視和控制程序、crontab 週期性任務設定;分析和排查系統故障:分析日誌檔案、排除系統啟動類故障、排除檔案系統類故障;Linux 基礎網路設定:檢視並測試網路、設定網路地址引數;二、中級運維工程師
基本服務:DHCP(動態配置主機地址服務)、Samba(檔案共享服務)FTP(檔案傳輸服務)、DNS(域名解析服務)Web(網站服務):LAMP、LNMP、TomCat資料庫:MYSQL、Oracle、Redis、SQL Server、MongoDB 等;Shell 指令碼:if、for、while、case 語句、文字處理三劍客:grep、sed、awk 等;系統安全及應用:賬號安全控制、系統引導及登入控制、弱口令檢測及埠掃描;遠端訪問及控制:SSH 遠端管理、訪問控制;防火牆:表、鏈結構、資料包過濾的匹配流程、編寫防火牆規則、SNAT / DNAT 策略及應用、規則的匯出 / 匯入、防火牆指令碼;YUM 倉庫:部署 YUM 軟體倉庫、YUM 工具管理軟體包;PXE + Kickstart:遠端安裝服務 + 無人值守安裝;Rsync + inotify:遠端同步備份工具 + 實時同步;三、高階運維工程師
Web 快取代理:Squid 代理(傳統代理、透明代理、ACL 訪問控制)虛擬化技術:KVM + OpenStack叢集:LVS + Keepalived(負載均衡 + 雙機熱備)、Haproxy + Nginx 搭建 Web 叢集;MySQL 主從複製與讀寫分離運維監控軟體:Cacti、Nagios、Zabbix(主流)、Prometheus、Grafana自動化:Ansible、SaltStack、Jenkins、Puppet容器技術:Docker、Kubernetes日誌分析系統:ELK程式語言:Shell、Python 等效能最佳化:是最大化提升服務承載量,也是比較難的,可從硬體層、作業系統層、軟體層和架構層維度展開思考進行最佳化四、資深方向
如果你想要往更高技術領域發展的話,同時也會有更多的選擇。比如
運維開發方向:主要是 Python 運維開發;自動化運維方向:主要是在原來的自動化運維領域進行深入研究;雲計算方向:主要是針對現在比較流行的容器技術:Docker、Kubernetes 以及虛擬化技術等;架構師方向:架構師的話,需要覆蓋的技術領域就比較廣了,而且需要的工作經驗在 5 年工作以上;大資料方向:主要針對開源大資料系統需要有深入的研究;相信透過這四大階段的大致介紹,一定讓同學對運維有了更近一步的瞭解,和自身職業發展的定位了吧?如果有對Linux感興趣的同學,也歡迎私信我,我可以把以上介紹的知識模組學習影片發給大家。學習是一個很漫長的過程,讓我們一起加油吧!