- Linux使用和管理指南:從云原生到可觀測性
- (奧)邁克爾·豪森布拉斯
- 2834字
- 2024-07-25 15:55:45
前言
很高興我們能一起踏上Linux學習之旅。如果你使用過Linux,正在尋求以一種結構化的實操方法深入研究Linux,或者你已經有相關經驗,想要獲得一些技巧和方法來改進使用Linux時的流程[例如,在專業設置(如開發或操作)中使用Linux ],那么本書適合你。
我們將把重點放在使用Linux來滿足你的日常需求,從開發到與辦公相關的任務,而不是系統管理方面的事情。此外,我們將重點關注命令行,而不是可視化UI。所以,雖然2022年可能還是桌面Linux,但我們將使用終端作為與Linux交互的主要方式。這樣做還有一個額外的好處,你可以在許多不同的設置(從樹莓派到你所選擇的云提供商的虛擬機)中同樣地應用你的知識。
在開始之前,我想通過分享我自己的經歷來提供一些背景:我第一次使用的操作系統并不是Linux。我使用的第一個操作系統是AmigaOS(20世紀80年代末),之后,在技術高中,我主要使用微軟DOS和當時新的微軟Windows,具體是圍繞事件系統和用戶界面相關的開發。然后,在大學學習期間(20世紀90年代中后期),我主要在大學實驗室使用基于UNIX的Solaris和硅圖形機。我真正接觸Linux是在21世紀00年代中期的大數據背景下,然后我開始與容器打交道,首先是2015年在Apache Mesos的背景下(我當時在Mesosphere工作),然后是Kubernetes(我最初在Red Hat的OpenShift團隊,然后在AWS的容器服務團隊)。也就是在這里我意識到一個人需要掌握Linux才能在這個領域發揮作用。Linux是不同的。它的背景、全球用戶社區、多功能性和靈活性使其獨一無二。
Linux是一個有趣的、不斷增長的開源個人和企業的生態系統。它幾乎可以在任何設備上運行,從50美元的樹莓派到你最喜歡的云提供商的虛擬機,再到火星車。經過30多年的發展,Linux可能會持續存在一段時間,所以現在是深入了解Linux的好時機。
讓我們首先設定一些基本規則和期望。我將與你分享如何從本書中獲得最大的收獲,以及一些管理方面的事情,比如你可以在哪里以及如何嘗試我們將共同完成的主題。
目標讀者
本書是為那些想要或需要在專業設置中使用Linux的人準備的,比如軟件開發人員、軟件架構師、QA測試工程師、DevOps和SRE工程師,以及類似的角色。如果你是一個業余愛好者,在從事3D打印或家庭裝修等活動時遇到了Linux,而你對一般的操作系統或Linux/UNIX知之甚少甚至一無所知,那么從頭到尾看完這本書,你會得到最大的收獲,因為各章往往是相互關聯的。但是,如果你已經熟悉了Linux,那么你也可以把它作為參考。
如何使用本書
本書的重點是使你能夠使用Linux,而不是管理它。市面上有很多關于Linux管理的好書。
通過閱讀本書,首先,你將了解什么是Linux(第1章)以及它的關鍵組件是什么(第2章和第3章),能夠列舉并使用基本的訪問控制機制(第4章),了解文件系統(第5章)作為Linux基本構建塊的作用,并知道什么是應用程序(第6章)。
然后,你將獲得一些關于Linux網絡棧和工具的實踐經驗(第7章)。此外,你將學習現代操作系統的可觀測性(第8章)以及如何應用它來管理工作負載。
你將了解如何通過使用容器和Bottlerocket等不可改變的發行版以現代方式運行Linux應用程序,以及如何使用安全外殼(SSH)和高級工具(如點對點和云同步機制)安全地進行通信(下載文件等)和共享數據(第9章)。
以下是一些嘗試方法的建議,跟著做(我強烈建議你這樣做,學習Linux就像學習一種語言—你要多加練習):
?買一臺Linux臺式計算機或筆記本計算機。例如,我有一臺非常漂亮的機器,是Star Labs的StarBook(https://oreil.ly/1MbY2)。另外,你也可以使用沒有運行最新Windows版本的臺式計算機或筆記本計算機,并在上面安裝Linux。
?如果你想在一個不同的(主機)操作系統上做實驗(比如MacBook或iMac),那么你可以使用虛擬機(VM)。例如,在macOS上,你可以使用優秀的Linux-on-Mac(https://oreil.ly/bqVYG)。
?使用你選擇的云計算供應商來啟動一個基于Linux的虛擬機。
?如果你喜歡修修補補并且想試試非英特爾處理器架構(如ARM),那么你可以買一臺單板計算機,如奇妙的Raspberry Pi(https://www.raspberrypi.org)。
在任何情況下,你都應該有一個現成的環境,并進行大量的練習。不要只是閱讀,要嘗試命令和實驗。試著“打破”某些限制,例如,提供無意義的或奇怪的輸入。在你執行命令之前,對結果形成一個假設。
另一個提示:總是問為什么。當你看到一個命令或某個輸出時,試著弄清楚它是從哪里來的,以及負責它的底層組件是什么。
排版約定
本書中使用以下排版約定:
斜體(Italic)
表示新的術語、URL、電子郵件地址、文件名和文件擴展名。
等寬字體(Constant width)
用于程序清單,以及段落中的程序元素,例如變量名、函數名、數據庫、數據類型、環境變量、語句以及關鍵字。
等寬斜體(Constant width italic)
表示應由用戶提供的值或由上下文確定的值替換的文本。

該圖示表示提示或建議。

該圖示表示一般性說明。

該圖示表示警告或注意。
示例代碼
可以從https://oreil.ly/learning-modern-linux-code下載補充材料(示例代碼、練習、勘誤等)。
這里的代碼是為了幫助你更好地理解本書的內容。通常,可以在程序或文檔中使用本書中的代碼,而不需要聯系O'Reilly獲得許可,除非需要大段地復制代碼。例如,使用本書中所提供的幾個代碼片段來編寫一個程序不需要得到我們的許可,但銷售或發布O'Reilly的示例代碼則需要獲得許可。引用本書的示例代碼來回答問題也不需要許可,將本書中的很大一部分示例代碼放到自己的產品文檔中則需要獲得許可。
非常歡迎讀者使用本書中的代碼,希望(但不強制)注明出處。注明出處時包含書名、作者、出版社和ISBN,例如:
Learning Modern Linux,作者Michael Hausenblas,由O'Reilly出版,書號978-1-098-10894-6。
如果讀者覺得對示例代碼的使用超出了上面所給出的許可范圍,歡迎通過permissions@oreilly.com聯系我們。
O'Reilly在線學習平臺(O'Reilly Online Learning)

40多年來,O'Reilly Media致力于提供技術和商業培訓、知識和卓越見解,來幫助眾多公司取得成功。
我們擁有獨一無二的專家和革新者組成的龐大網絡,他們通過圖書、文章、會議和我們的在線學習平臺分享他們的知識和經驗。O'Reilly的在線學習平臺允許你按需訪問現場培訓課程、深入的學習路徑、交互式編程環境,以及O'Reilly和200多家其他出版商提供的大量文本和視頻資源。有關的更多信息,請訪問http://oreilly.com。
如何聯系我們
對于本書,如果有任何意見或疑問,請按照以下地址聯系本書出版商。
美國:
O'Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中國:
北京市西城區西直門南大街2號成銘大廈C座807室(100035)
奧萊利技術咨詢(北京)有限公司
要詢問技術問題或對本書提出建議,請發送電子郵件至errata@oreilly.com.cn。
本書配套網站https://oreil.ly/learning-modern-linux上列出了勘誤表、示例以及其他信息。
關于書籍和課程的新聞和信息,請訪問我們的網站http://oreilly.com。
我們在LinkedIn上的地址:https://linkedin.com/company/oreilly-media。
我們在Twitter上的地址:http://twitter.com/oreillymedia。
我們在YouTube上的地址:http://youtube.com/oreillymedia。
致謝
首先,我想感謝本書出色的審稿人Chris Negus、John Bonesio和Pawel Krupa,沒有他們的反饋,本書的作用就少了一半。
我要感謝我的父母,他們使我能夠接受教育,并為我今天的身份和工作奠定了基礎。我要感謝我的大姐Monika,是她激勵我投身科技領域。
我想對支持我的家人表示最深切的感謝,他們很棒:我的孩子Saphira、Ranya和Iannis;我聰明而有趣的妻子Anneliese;我們最棒的狗Snoopy;以及我們最新的家庭成員—公貓Charlie。
在我的UNIX和Linux旅程中,有太多的人影響了我的思想,我從他們那里學到了很多。我非常榮幸能與他們中的許多人一起工作或互動,包括但不限于Jér?me Petazzoni、Jessie Frazelle、Brendan Gregg、Justin Garrison、Michael Kerrisk和Douglas McIlroy。
最后,但最重要的是,我要感謝O'Reilly團隊,特別是我的開發編輯Jeff Bleiel,感謝他在寫作本書的過程中對我的指導。
- 每天5分鐘玩轉Kubernetes
- UNIX操作系統設計
- Instant Optimizing Embedded Systems using Busybox
- 數據中心系統工程及應用
- Kubernetes從入門到實踐
- 竹林蹊徑:深入淺出windows驅動開發
- 注冊表應用完全DIY
- 一學就會:Windows Vista應用完全自學手冊
- Kali Linux高級滲透測試(原書第3版)
- 分布式高可用架構之道
- Heroku Cloud Application Development
- 統信UOS應用開發進階教程
- Linux內核修煉之道
- Linux系統安全:縱深防御、安全掃描與入侵檢測
- Microsoft DirectAccess Best Practices and Troubleshooting