你需要知道什麼才能成為系統管理員?
昔日的系統管理員整天都在調教用戶和擺弄伺服器,一天的時間都奔波在幾百米長的電纜之間。隨著雲計算、容器和虛擬機的複雜性的增加,而今依然如此。
以外行人來看,很難準確確定系統管理員的確切職能,因為他們在許多地方都扮演著一個不起眼的角色。沒人能在培訓中知道自己工作中所需要的一切知識,但是每個人其實都需要一個堅實的基礎。如果你想走上系統管理的道路,那麼這是你個人自學或在正式培訓中應重點關注的內容。
Bash
當你學習 Bash Shell 時,你學習的不僅是 Bash Shell,你學習的也是 Linux、BSD、MacOS 甚至Windows(在適當條件下)的通用界面。你將了解語法的重要性,因此可以快速適應思科路由器的命令行或微軟 PowerShell 等系統,最終你甚至可以學習更強大的語言,如 Python 或 Go。而且,你還會開始進行程序性思考,以便可以分析複雜的問題並將其分解為單個組件,這很關鍵,因為這就是系統(例如互聯網、組織的內部網、Web 伺服器、備份解決方案)是如何設計的。
不止於此,還有更多。
由於最近 DevOps 和容器的發展趨勢,了解 Bash shell 變得尤為重要。你的系統管理員職業可能會將你帶入一個視基礎設施為代碼的世界,這通常意味著你必須了解腳本編寫的基礎知識、基於 YAML配置的結構,以及如何與容器(運行在沙盒文件內部的微型 Linux 系統)交互。你會知道 Bash 是高效管理激動人心的開源技術的門戶,因此請進入 Bash 世界吧。
資源
有很多方法可以在 Bash shell 中進行練習。
嘗試一下攜帶型 Linux 發行版。你無需安裝 Linux 即可使用 Linux,因此,請拿一塊閑置的 U 盤,花個晚上或周末的空閑時光,來適應基於文本的界面。
要注意的是 Bash 練習的關鍵在於要練習,你必須有要做的練習才行。而且,在你知道如何使用 Bash 之前,你可能不知道該練習什麼。如果是這樣,請去 Over The Wire 玩一下 Bandit 遊戲。這是一款針對絕對初學者的遊戲,具有 34 個級別的互動式基本技巧,可讓你熟悉 Linux shell。
Web 伺服器設置
一旦你習慣了 Bash,你應該嘗試設置一個 Web 伺服器。並不是所有的系統管理員都會四處設置 Web 伺服器甚至維護 Web 伺服器,但是你在安裝和啟動 HTTP 守護程序、配置 Apache 或 Nginx,設置正確許可權和配置防火牆時所掌握的技能是你每天都需要使用的技能。經過一些努力,你可能會開始注意到自己的某些工作模式。在嘗試管理可用於生產環境的軟體和硬體之前,你可能認為某些概念是理所當然的,而你在成為新手的管理員角色時,將不再受到它們的影響。起初這可能會令人沮喪,因為每個人都喜歡在自己做好所做的事情,但這實際上是一件好事。讓自己接觸新技能,那就是你學習的方式。
此外,你在第一步中付出的努力越多,最終當你在默認的 index.html 上看到勝利的「it works!」就越甜蜜!
資源
David Both 撰寫了有關 Apache Web 伺服器配置的出色文章。值得一提的是,請逐步閱讀他的後續文章,其中介紹了如何在一台計算機上託管多個站點。
DHCP
動態主機配置協議(DHCP)是為網路上的設備分配 IP 地址的系統。在家裡,ISP(互聯網服務提供商)支持的數據機或路由器可能內置了 DHCP 伺服器,因此可能不在你的許可權範圍內。如果你曾經登錄家用路由器來調整 IP 地址範圍或為某些網路設備設置了靜態地址,那麼你至少對該概念有所了解。你可能會將其理解為對網路上的設備分配了一種 IP 地址形式的電話號碼,並且你可能會意識到計算機之間通過廣播發送到特定 IP 地址的消息彼此進行通信。消息標頭由路徑上的路由器讀取,每個消息標頭都將消息定向到路徑上的第二個邏輯路由器,以達到其最終目標。
即使你了解了這些概念,要從對 DHCP 的基本了解再進一步是架設 DHCP 伺服器。安裝和配置自己的 DHCP 伺服器可能會導致家庭網路中的 DHCP 衝突(如果可以的話,請盡量避免這樣做,因為它肯定會幹掉你的網路,直到解決為止),要控制地址的分配、創建子網,並監控連接和租賃時間。
更重要的是,設置 DHCP 並嘗試不同的配置有助於你了解網路之間的關係。你會了解網路如何在數據傳輸中表示「分區」,以及必須採取哪些步驟才能將信息從一個網路傳遞到另一個。這對於系統管理員來說至關重要,因為網路肯定是工作中最重要的方面之一。
資源
在運行自己的 DHCP 伺服器之前,請確保家庭路由器(如果有)中的 DHCP 伺服器處於非活動狀態。一旦啟動並運行了 DHCP 伺服器,請閱讀 Archit Modi 的網路命令指南,以獲取有關如何探索網路的提示。
網路電纜
這聽起來很普通,但是熟悉網路電纜的工作方式不僅使你的周末變得非常有趣,而且還使你對數據是如何通過纜線的得到了全新的了解。最好的學習方法是去當地的業餘愛好商店併購買五類線剝線鉗和壓線鉗以及一些五類線水晶頭。然後回家,拿一根備用的乙太網電纜,切斷水晶頭,花一些時間重新製作網線接頭,將電纜重新投入使用。
解決了這個難題後,請再做一次,這次創建一條有效的交叉電纜。
你現在應該還在沉迷於有關電纜管理。如果你有些強迫症,喜歡沿著地板線或桌子的邊緣整齊地排列電纜,或者將電纜綁在一起以保持它們的整齊有序,那麼就可以使自己免受永久混亂的電纜困擾。你一開始可能不會理解這樣做的必要性,但是當你第一次走進伺服器機房時,你會馬上知道原因。
Ansible
Ansible 是配置管理軟體,它在系統管理員和 DevOps 之間架起了一座橋樑。系統管理員使用 Ansible 來配置全新安裝的操作系統並在計算機上維護特定的狀態。DevOps 使用 Ansible 減少了在工具上花費的時間和精力,從而在開發上可以花費更多的時間和精力。作為系統管理員培訓的一部分,你應該學習 Ansible,並著眼於 DevOps 實踐,因為 DevOps 現在開創的大多數功能將最終成為將來系統管理中工作流的一部分。
Ansible 的好處是你可以立即開始使用它。它是跨平台的,並且可以向上和向下縮放。對於單用戶計算機, Ansible 可能是小題大做,但是話又說回來,Ansible 可能會改變你啟動虛擬機的方式,或者可以幫助你同步家庭或家庭實驗室中所有計算機的狀態。
資源
閱讀 Jay LaCroix 的如何使用 Ansible 管理工作站配置中的典型介紹,以輕鬆地在日常之中開始使用 Ansible。
破壞
由於用戶的錯誤、軟體的錯誤、管理員(就是你!)的錯誤以及許多其他因素,計算機上會出現問題。無法預測將要失敗的原因,因此你的個人系統管理員培訓制度的一部分應該是破壞你設置的系統,直到它們失敗為止。你自己的實驗室基礎設施越是脆弱,發現弱點的可能性就越大。而且,你越是經常修復這些弱點,你對解決問題的能力就越有信心。
除了嚴格設置所有常見的軟體和硬體之外,作為系統管理員的主要工作是查找解決方案。有時候,你可能會遇到職位描述之外的問題,甚至可能無法解決,但這完全取決於你的解決方法。
現在,你越多地折騰並努力加以解決,則以系統管理員的身份進行的準備就越充分。
你是系統管理員嗎?你是否希望自己為更好的任務做好準備?在下面的評論中寫下它們!
via: https://opensource.com/article/19/7/be-a-sysadmin
作者:Seth Kenlon 選題:lujun9972 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive