《CentOS Linux系統運維》是一本關于Linux系統運維的入門書籍。本書以CentOS Linux作為基礎環境并按照從系統安裝配置到系統投入使用的整個過程來講解系統的日常維護。本書以內網為操作系統運行環境,并按照“系統安裝→系統安全配置→應用部署→日常維護”的流程來編寫。在系統的安裝配置上主要涉及系統環境搭建、系統安全配置和日常維護,在應用上主要涉及服務的安裝、配置以及日常維護。本書的內容適用基于Red Hat內核2.6.32版本的Linux系統,包括CentOS Linux、Red Hat Enterprise Linux、Oracle Enterprise Linux。
本書適合Linux初學者、愛好者、程序員以及Linux服務器維護人員使用,也適合作為培訓機構和大中專院校的教學用書。
本書以當前*新的CentOS 7 Linux作為基礎環境并按照從系統安裝配置到系統投入使用的整個過程來講解系統的日常維護。
內容涉及Linux系統維護的方方面面,尤其對于Linux服務器維護新手或經驗不足的運維人員有較大幫助。
本書內容系統,循序漸進,步驟清晰,講解通俗易懂,通過閱讀本書讀者能夠系統地掌握Linux運維的各種知識和操作技能,并解夠解決Linux系統的各種問題。
前 言
自Linux誕生至今已吸引了不少的開發者和使用者,特別是開源技術的發展和云計算的應用更是讓Linux得到更多用戶親睞。
本書以CentOS Linux系統為基礎環境介紹系統的基本應用和管理,以理論知識結合實際應用的方式來編寫,所涉及的內容主要包括系統的環境搭建、系統日常管理和服務的搭建。全書共18章,第1~3章主要是系統基礎環境的搭建和基本應用,第4~15章主要是系統的基本配置,第16~18章主要是服務的配置應用。
第1章:關于操作系統的相關概念,主要涉及系統的版本(發行版本和內核版本)和系統運行的環境。
第2章:操作系統的安裝配置,主要涉及系統安裝時需要注意的事項和系統安裝完成后更改系統的默認配置。
第3章:關于操作系統圖形系統(桌面)類型及基本使用方法的介紹。
第4章:命令的應用,主要涉及shell的基本概念及各種常用命令的基本使用方法。
第5章:shell腳本編程,主要包括循環腳本、算術和函數等。
第6章:系統的用戶和用戶組。
第7章:文件系統,主要涉及文件系統的基本組成、虛擬文件系統和文件系統塊三方面的內容。
第8章:磁盤及磁盤分區,主要涉及磁盤分區的劃分和日常的維護。
第9章:系統性能優化,主要涉及系統內存、CPU、進程和網絡四方面的內容。
第11章:系統安全配置,主要涉及訪問系統的控制策略、審計系統和日志系統配置應用三方面的內容。
第12~13章:系統網絡的配置和應用。
第14~15章:系統啟動初始化和系統的運行級別。
第16~17章:時間服務器的配置和應用。
第18章:基于KVM的虛擬化服務的配置和應用。
本書內容由淺入深,語言通俗易懂,旨在降低閱讀難度、幫助讀者快速入門。本書適用的讀者對象包括但不限于:
Linux初學者
Linux愛好者
Linux服務器運維者
大中專院校和培訓機構的教學用書
由于編輯水平有限,書中難免存在不足和疏漏之處,請廣大讀者批評指正。
編者
2016年5月于?
陳祥琳,四川電子科技大學集成電路與集成系統設計(嵌入式)專業學士,從事虛擬化與企業級服務器運維多年,專注于Linux系統的研究,具有豐富的實戰運維經驗。出版有《Linu從入門到精通》及《shell腳本編程從入門到精通》著作。
第1章 操作系統基本概念 1
1.1 系統版本的基本概念 2
1.2 系統內核基本組成 2
1.3 操作系統的運行環境 5
第2章 CentOS安裝配置 9
2.1 CentOS基本概念 10
2.2 CentOS安裝 10
2.2.1 系統安裝的主要事項 10
2.2.2 系統的量身定制 11
2.2.3 系統的安裝過程 12
2.3 CentOS基礎環境配置 19
2.3.1 系統防火墻設置 19
2.3.2 系統SELinux設置 20
2.3.3 系統網絡服務配置 21
2.3.4 本地YUM服務配置 23
第3章 CentOS桌面系統 27
3.1 桌面系統的基本類型 28
3.2 桌面系統的基本應用 29
3.2.1 登錄和退出系統 29
3.2.2 桌面背景圖片設置 33
3.2.3 圖形系統終端窗口設置 34
3.3 X-Window圖形系統 34
3.3.1 X-Window圖形系統簡述 34
3.3.2 X-Window運行原理 36
第4章 命令基本應用 37
4.1 shell的基本概念 38
4.1.1 shell的發展及類型 38
4.1.2 shell的作用概述 39
4.1.3 shell的工作原理 39
4.2 shell的命令和符號 40
4.2.1 shell的命令類型 41
4.2.2 shell的通配符 42
4.2.3 shell中的符號 44
4.3 常用命令的使用說明 45
4.3.1 文件管理命令 46
4.3.2 磁盤管理命令 51
4.3.3 壓縮和解壓縮命令 55
4.3.4 軟件包管理命令 59
4.3.5 系統管理命令 62
4.3.6 其他常用命令 68
第5章 shell腳本編程 72
5.1 shell腳本的基本概念 73
5.1.1 shell腳本編程的基礎知識 73
5.1.2 shell腳本中的變量 75
5.2 shell腳本編程實例 79
5.2.1 腳本程序流程控制 79
5.2.2 算術運算實例 88
5.2.3 shell函數的應用 93
5.2.4 shell數組的應用 95
第6章 用戶和用戶組 98
6.1 系統的用戶管理 99
6.1.1 系統的用戶ID類型 99
6.1.2 CentOS用戶的分類 100
6.1.3 CentOS用戶賬號管理 101
6.2 系統的用戶組管理 105
6.2.1 用戶組賬號列表 105
6.2.2 用戶組賬號管理 107
6.3 用戶環境配置管理 108
6.3.1 用戶環境初始化文件 108
6.3.2 用戶賬戶密碼管理策略 110
第7章 文件系統結構 113
7.1 文件系統的組成 114
7.1.1 文件系統的基本概念 114
7.1.2 文件系統的基本組成 116
7.1.3 虛擬文件系統 118
7.2 文件系統的實際應用 121
7.2.1 文件系統的基本信息 121
7.2.2 文件系統的創建和刪除 122
7.3 文件系統塊維護 126
7.3.1 文件系統塊設備管理 126
7.3.2 文件系統故障處理機制 127
第8章 數據存儲空間 128
8.1 磁盤的分區結構 129
8.1.1 磁盤分區的基本概念 129
8.1.2 磁盤分區的信息獲取 131
8.1.3 磁盤分區的劃分 133
8.1.4 刪除磁盤分區 138
8.2 邏輯卷管理的應用 140
8.2.1 邏輯卷管理基本概念 140
8.2.2 邏輯卷管理配置應用 143
8.3 磁盤空間管理 149
8.3.1 磁盤空間數據管理 149
8.3.2 磁盤空間維護 158
第9章 系統性能監控 163
9.1 性能優化的基本概念 164
9.2 磁盤資源配置管理 165
9.2.1 磁盤整體性能監控 165
9.2.2 磁盤空間限制 169
9.2.3 磁盤IO性能監測 172
9.3 系統內存管理 175
9.3.1 內存的基本概念 175
9.3.2 系統物理內存 176
9.3.3 系統虛擬內存 177
9.4 系統CPU管理 179
9.4.1 CPU的基本概念 179
9.4.2 系統CPU監控 180
9.5 系統進程狀態監控 184
9.5.1 進程的基本信息 184
9.5.2 進程創建和終止 186
9.5.3 進程優先級和后臺進程 187
9.5.4 進程狀態間的關系 188
9.6 系統網絡性能評估 189
9.6.1 網絡連通性測試 190
9.6.2 網絡接口狀態監控 191
9.6.3 系統網絡配置參數 192
第10章 系統進程管理 196
10.1 進程的基本概念 197
10.2 進程的設置管理 199
10.2.1 進程狀態基本操作 199
10.2.2 進程的優先級 202
第11章 系統安全加固 204
11.1 用戶賬戶安全控制策略 205
11.1.1 用戶身份鑒別 205
11.1.2 賬號登錄管理機制 207
11.2 系統防火墻配置管理 216
11.2.1 防火墻的基本概念 217
11.2.2 防火墻的firewalld應用 217
11.2.3 防火墻的iptables應用 224
11.3 系統安全審計功能 233
11.3.1 系統審計功能應用 233
11.3.2 用戶空間審計系統 238
11.3.3 內核空間審計系統 245
11.4 系統日志應用管理 246
11.4.1 系統日志功能配置 247
11.4.2 系統日志功能應用 250
第12章 系統網絡配置應用 255
12.1 網絡協議概述 256
12.1.1 系統網絡結構特點 256
12.1.2 系統網絡協議模型 257
12.2 系統網絡參數配置 259
12.2.1 網絡相關配置文件 260
12.2.2 網卡設備配置參數 265
12.2.3 IP地址應用配置 266
第13章 遠程訪問系統 269
13.1 OpenSSH應用配置 270
13.1.1 OpenSSH基本概念 270
13.1.2 OpenSSH服務應用 270
13.1.3 OpenSSH配置管理 272
13.2 Telnet遠程訪問 276
13.2.1 Telnet基本概念 276
13.2.2 Telnet服務配置 277
13.2.3 Telnet服務應用管理 278
13.3 VNC遠程訪問 279
13.3.1 VNC基本概念 280
13.3.2 VNC服務配置管理 280
13.4 其他的遠程訪問方式 282
第14章 系統啟動初始化 288
14.1 系統啟動基本過程 289
14.1.1 BIOS加電自檢 289
14.1.2 grub2引導程序 290
14.1.3 內核映像加載 291
14.1.4 INIT進程初始化 291
14.2 系統運行時進程的通信 297
14.2.1 系統的守護進程 298
14.2.2 進程中的通信實現 301
14.3 關閉操作系統 306
第15章 系統運行級別 307
15.1 運行級別基本概念 308
15.1.1 系統的運行級別概述 308
15.1.2 系統運行級別間的切換 309
15.2 運行級別的應用 313
15.2.1 系統的單用戶模式 313
15.2.2 系統的緊急模式 314
15.2.3 系統的救援模式 315
第16章 資源共享服務配置 318
16.1 文件傳輸協議 319
16.1.1 文件傳輸協議的工作原理 319
16.1.2 文件傳輸協議的基本模型 320
16.1.3 文件傳輸協議的服務配置 321
16.2 網絡文件系統 323
16.2.1 網絡文件系統概述 323
16.2.2 網絡文件系統的搭建 325
16.3 Samba 328
16.3.1 Samba服務的基本概念 328
16.3.2 Samba的服務配置 330
第17章 系統間的時間同步 334
17.1 網絡時間協議的基本概念 335
17.1.1 網絡時間協議的模型結構 335
17.1.2 網絡時間協議的工作方式 337
17.1.3 網絡時間協議的工作原理 340
17.2 網絡時間協議服務的搭建 341
17.2.1 時間服務組件管理 341
17.2.2 網絡時間協議的配置文件 342
17.2.3 可靠時間源的獲取 344
17.3 服務器間的時間同步 345
17.3.1 系統時間和時區設置 345
17.3.2 系統間的時間同步 348
17.3.3 網絡時間協議安全配置 353
第18章 KVM服務配置應用 354
18.1 虛擬化技術概述 355
18.1.1 虛擬化的結構原理 355
18.1.2 虛擬化監視器的基本結構 355
18.2 KVM虛擬監視器配置 358
18.2.1 KVM虛擬化層次結構 358
18.2.2 KVM系統管理器配置 358
18.3 KVM的配置應用 363
18.3.1 創建KVM操作系統 363
18.3.2 KVM的基本維護 366
18.3.3 KVM的操作系統克隆 371
18.3.4 KVM虛擬系統遷移 373