邁向Linux工程師之路:Superuser一定要懂的技術與運用(3版) | 拾書所

邁向Linux工程師之路:Superuser一定要懂的技術與運用(3版)

$ 702 元 原價 702
內容簡介


『如果你對Linux有興趣,那麼這本書絕對該在你的書單中。』 ─ LinuxInsider​
『這本書充分介紹了Linux架構的每一個面向。』
─ Everyday Linux User​


SYSTEMD 靈活運用 | SUPERUSER 必讀之作​


★全新收錄★​
✔LVM、journald日誌系統和IPv6的實作​
✔新增「第17章」,專門討論虛擬化、容器和cgroup​
✔systemd的延伸討論​


Linux不像其他的作業系統,它不會對使用者隱瞞重要的資訊。反之,它讓你可以完全控制你的電腦──Linux會讓它的使用者掌控一切。但要真正掌握Linux,就必須理解這個作業系統的工作機制與內部結構,包括「系統是如何啟動(boot)的」、「網路是如何運作的」,以及「Linux的核心(kernel)實際上都做了些什麼」。​

本書是暢銷書《How Linux Works》的第三版。作者Brian Ward再次深入這個深受喜愛的作業系統,對各個層面進行更詳盡、更深度的探討。任何對Linux內部運作感到好奇的讀者,都可以從中獲益。本書是作者多年專業知識的累積,第三版更新並強化許多知識,亦新增LVM(邏輯卷冊管理程式)、虛擬化、容器等內容。透過這本書,你將學到:​
・Linux是如何啟動的,從開機載入程式(boot loader)到init (systemd)​
・核心如何管理設備、設備驅動程式和程序​
・網路、介面、防火牆和伺服器的運作概念​
・開發工具的工作原理,以及它們與共享函式庫之間的關係​
・如何編寫出色的shell script​

你還能探索Linux的核心,並檢查使用者空間程序中的關鍵系統任務,包括系統呼叫、輸入和輸出以及檔案系統維護。結合背景、理論、實際範例和詳盡的解釋,本書將教你「控制作業系統」所需的全部知識。

作者簡介


Brian Ward從1993年開始接觸Linux。除了這本深受讀者喜愛的書之外,他的著作還包括:《The Linux Kernel HOWTO》、《The Book of VMware》、《The Linux
Problem Solver》。

內容目錄


齊聲讚譽​
致謝​
前言​

Chapter 1:概述​
1.1 Linux作業系統中的抽象級別和層次​
1.2 硬體:理解主記憶體​
1.3 核心​
1.4 使用者空間​
1.5 使用者​
1.6 學習前導​

Chapter 2:基礎指令和目錄結構​
2.1 Bourne shell: /bin/sh​
2.2 shell的使用​
2.3 基礎指令​
2.4 瀏覽目錄​
2.5 進階指令​
2.6 更改密碼和替換shell​
2.7 dot檔案​
2.8 環境變數和shell變數​
2.9 指令路徑​
2.10 特殊字元​
2.11 命令列編輯​
2.12 文字編輯器​
2.13 取得線上說明​
2.14 shell輸入和輸出​
2.15 理解錯誤訊息​
2.16 查看和操控程序​
2.17 檔案模式和權限​
2.18 歸檔和壓縮檔案​
2.19 Linux目錄結構基礎​
2.20 以超級使用者的身分執行指令​
2.21 學習前導​

Chapter 3:設備管理​
3.1 設備檔案​
3.2 sysfs設備路徑​
3.3 dd指令和設備​
3.4 設備名稱總結​
3.5 udev​
3.6 詳解SCSI和Linux核心​

Chapter 4:磁碟和檔案系統​
4.1 為磁碟設備製作分割區​
4.2 檔案系統​
4.3 swap空間​
4.4 邏輯卷冊管理程式(LVM)​
4.5 學習前導:磁碟和使用者空間​
4.6 深入傳統檔案系統​

Chapter 5:Linux核心的啟動​
5.1 啟動訊息​
5.2 核心初始化和啟動選項​
5.3 核心參數​
5.4 開機載入程式​
5.5 GRUB簡介​
5.6 UEFI Secure Boot的問題​
5.7 鏈式載入其他作業系統​
5.8 開機載入程式細節​

Chapter 6:使用者空間的啟動​
6.1 init介紹​
6.2 識別你的init​
6.3 systemd​
6.4 System V runlevel(執行級別)​
6.5 System V init ​
6.6 關閉系統​
6.7 initramfs ​
6.8 緊急啟動和單一使用者模式​
6.9 學習前導​

Chapter 7:系統設定日誌、系統時間、批次處理任務和使用者​
7.1 系統日誌​
7.2 /etc目錄結構​
7.3 使用者管理檔案​
7.4 getty和login​
7.5 設定時間​
7.6 使用cron和計時單元來調度日常任務​
7.7 使用at進行一次性任務調度​
7.8 以一般使用者執行計時單元​
7.9 使用者存取的議題​
7.10 PAM​
7.11 學習前導​

Chapter 8:程序與資源利用詳解​
8.1 程序追蹤​
8.2 使用lsof查看打開的檔案​
8.3 追蹤程式執行和系統呼叫​
8.4 執行緒​
8.5 資源監控簡介​
8.6 控制組(cgroup)​
8.7 更深入的主題​

Chapter 9:網路與設定​
9.1 網路基礎​
9.2 封包​
9.3 網路層​
9.4 網際網路層(Internet Layer)​
9.5 路由和核心路由表​
9.6 預設閘道​
9.7 IPv6的位址和網路​
9.8 基本ICMP和DNS工具​
9.9 實體層與乙太網路​
9.10 理解核心網路介面​
9.11 設定網路介面​
9.12 開機啟動的網路設定​
9.13 手動和開機啟動的網路設定帶來的問題​
9.14 一些網路設定管理器​
9.15 解析主機名稱​
9.16 localhost​
9.17 傳輸層:TCP、UDP和服務(Service)​
9.18 重新審視普通區域網路​
9.19 理解DHCP​
9.20 自動的IPv6網路設定​
9.21 將Linux設定成路由器​
9.22 私有網路(IPv4)​
9.23 網路位址轉換(IP偽裝)​
9.24 路由器與Linux ​
9.25 防火牆​
9.26 乙太網路、IP、ARP和NDP​
9.27 無線乙太網路​
9.28 總結​

Chapter 10:網路應用程式與服務​
10.1 服務的基本概念​
10.2 深入剖析​
10.3 網路伺服器​
10.4 在systemd之前的網路連線伺服器:inetd和xinetd​
10.5 診斷工具​
10.6 遠端程序呼叫​
10.7 網路安全​
10.8 學習前導​
10.9 網路socket​
10.10 Unix domain socket​

Chapter 11:Shell Script​
11.1 shell script基礎​
11.2 引號與字面常數​
11.3 特殊變數​
11.4 結束碼​
11.5 條件判斷​
11.6 迴圈​
11.7 指令替換​
11.8 管理臨時檔案​
11.9 here document​
11.10 重要的shell script工具​
11.11 子shell​
11.12 在script中納入其他檔案 ​
11.13 讀取使用者輸入 ​
11.14 什麼時候(不)應該使用shell script​

Chapter 12:在網路上傳輸檔案​
12.1 快速複製​
12.2 rsync​
12.3 檔案共享​
12.4 用Samba分享檔案​
12.5 SSHFS​
12.6 NFS​
12.7 雲端儲存設備​
12.8 網路檔案共享的狀態​

Chapter 13:使用者環境​
13.1 建立啟動檔案的規則​
13.2 何時需要修改啟動檔案​
13.3 shell啟動檔案的元素​
13.4 啟動檔案的順序及範例​
13.5 使用者預設設定​
13.6 啟動檔案的一些陷阱​
13.7 學習前導​

Chapter 14:Linux桌面系統與列印概覽​
14.1 桌面系統元件​
14.2 你正在執行Wayland還是X?​
14.3 近觀Wayland系統​
14.4 近觀X Window系統​
14.5 D-Bus​
14.6 列印​
14.7 其他有關桌面系統的話題​

Chapter 15:開發工具​
15.1 C 編譯器​
15.2 make​
15.3 Lex和Yacc​
15.4 腳本語言​
15.5 Java​
15.6 學習前導:編譯套件​

Chapter 16:從C程式碼編譯出軟體​
16.1 軟體的建置系統​
16.2 解開C原始碼套件​
16.3 GNU autoconf​
16.4 實踐安裝​
16.5 打補丁​
16.6 編譯和安裝的問題排查​
16.7 學習前導​

Chapter 17:虛擬化​
17.1 虛擬機器​
17.2 容器​
17.3 執行中(Runtime-Based)虛擬化​
參考文獻

ISBN: 9786263334120

Brand Slider