從零開始 Linux 運維實踐

從零開始 Linux 運維實踐

作者: 吳永袁 王霄
出版社: 清華大學
出版在: 2022-07-01
ISBN-13: 9787302609063
ISBN-10: 7302609063





內容描述


本書是一本針對Linux運維新手的入門書,通俗易懂地介紹入職Linux運維崗位需要掌握的各種知識與技能,全書共29章:第1章~第3章介紹Linux系統的安裝、Linux的命令以及Linux編輯器Vim的使用;第4章~第11章介紹Linux系統管理的基本內容,包括用戶與用戶組的管理、權限管理、文件歸檔、磁盤空間管理、RAID磁盤陣列的搭建、LVM存儲空間的管理、Linux網絡協議及進程管理、軟件包的管理與安裝;第12章~第23章介紹各類服務的搭建和應用,包括Samba服務、FTP服務、NFS服務、NTP服務、DNS域名系統、DHCP服務、企業級Nginx服務、Tomcat服務、Cobbler服務、Jenkins服務、防火牆的配置、LAMP架構搭建、Zabbix監控系統的搭建;第24章~第29章介紹自動化運維工具Ansible的配置及應用、shell及其命令的使用。 本書涵蓋了Linux運維的大部分常見場景和諸多案例,適合Linux新手和Linux運維工程師使用,也可作為培訓機構或大專院校的教學用書。


目錄大綱


目    錄
 
第1章  走進Linux 1
1.1  Linux的歷史和特點 1
1.1.1  Linux的前世今生 1
1.1.2  Linux系統的特點 2
1.1.3  Linux發行版CentOS 3
1.2  虛擬機平臺安裝配置 4
1.2.1  虛擬機平臺的搭建 4
1.2.2  在虛擬機上安裝CentOS 10
1.2.3  使用VMWare備份操作系統 15
1.3  Linux系統的文件 16
1.3.1  文件系統的基本組成 16
1.3.2  文件系統的目錄結構 17
1.4  Linux系統的命令 19
1.4.1  認識系統終端 19
1.4.2  Linux命令的基本格式 19
1.4.3  Linux命令的使用 19
第2章  Linux命令進階 27
2.1  命令的類型與執行過程 27
2.1.1  命令的類型 27
2.1.2  命令的執行過程 29
2.2  常用命令 29
2.2.1  df命令 29
2.2.2  free命令 30
2.2.3  head命令 30
2.2.4  tail命令 31
2.2.5  less命令 31
2.2.6  wc命令 32
2.2.7  date命令 32
2.2.8  cal命令 33
2.2.9  clear/Ctrl+L命令 34
2.2.10  管道 34
2.3  高級命令 35
2.3.1  hostname命令 35
2.3.2  id命令 35
2.3.3  ps -ef命令 36
2.3.4  top命令 37
2.3.5  du -sh命令 38
2.3.6  find命令 39
2.3.7  systemctl命令 39
2.3.8  kill命令 40
2.3.9  ip addr命令 41
2.3.10  reboot命令 42
2.3.11  shutdown命令 42
2.3.12  uptime命令 42
2.3.13  uname命令 43
2.3.14  netstat-tnlp命令 44
2.3.15  man命令 44
2.3.16  別名機制 44
2.3.17  ping命令 45
2.4  執行計劃任務的命令 45
2.4.1  at命令的使用 46
2.4.2  crontab命令的使用 47
第3章  編輯器之神——vim 50
3.1  vi/vim編輯器概述 50
3.2  vim的三種模式 51
3.2.1  命令模式 51
3.2.2  末行模式 53
3.2.3  編輯模式 56
3.3  vim的應用擴展 56
3.3.1  vim的配置 57
3.3.2  vim的異常退出 58
3.3.3  vim的退出方式 59
3.3.4  vim實用小技巧 59
第4章  用戶與用戶組管理 60
4.1  用戶與用戶組管理 60
4.1.1  系統用戶的分類 60
4.1.2  用戶和組的關系 61
4.2  系統用戶管理 62
4.2.1  添加用戶 62
4.2.2  添加登錄用戶 63
4.2.3  修改用戶 64
4.2.4  設置密碼 65
4.2.5  用戶密碼管理 66
4.2.6  刪除用戶 66
4.3  用戶組管理 67
4.3.1  用戶組添加 68
4.3.2  用戶組編輯 68
4.3.3  用戶組刪除 69
4.4  系統網絡設置 69
4.4.1  網卡配置文件 69
4.4.2  Linux自有服務——SSH服務 71
4.4.3  遠程終端應用 71
4.4.4  Filezilla工具 73
第5章  權限管理 76
5.1  概述 76
5.1.1  用戶權限介紹 76
5.1.2  用戶身份介紹 76
5.1.3  Linux的權限介紹 77
5.2  權限的設置 80
5.2.1  字母形式的權限 80
5.2.2  數字形式 82
5.3  屬主與屬組設置 83
5.3.1  chown命令應用 83
5.3.2  chgrp命令應用 84
5.4  文件的特殊權限 85
5.4.1  suid(set uid,設置用戶ID)權限應用 85
5.4.2  sgid權限應用 86
5.4.3  案例:文件擴展權限acl 87
5.5  實戰sudo命令 88
第6章  文件歸檔 91
6.1  文件的類型 91
6.1.1  目錄文件 91
6.1.2  普通文件 92
6.1.3  鏈接文件 93
6.2  文件歸檔和歸檔技術 94
6.2.1  用tar命令歸檔文件 94
6.2.2  解壓tar格式歸檔文件 95
6.2.3  壓縮/解壓縮多種格式文件 96
第7章  磁盤空間管理 98
7.1  磁盤分區的概念 98
7.1.1  硬盤的物理結構 98
7.1.2  分區的基本組成方式 99
7.1.3  磁盤分區的命名規則 100
7.2  使用fdisk管理分區 100
7.2.1  獲取磁盤分區信息 100
7.2.2  創建磁盤分區 103
7.2.3  分區卸載報錯解決方案 104
7.2.4  利用/etc/fstab文件掛載分區 105
7.3  gdisk磁盤分區工具 107
第8章  RAID磁盤陣列的搭建 109
8.1  RAID概述 109
8.2  常見的RAID類型 110
8.2.1  RAID0 110
8.2.2  RAID1 110
8.2.3  RAID10和RAID01 111
8.2.4  RAID3 111
8.2.5  RAID5或RAID6 111
8.3  案例:華為2U機架式服務器RAID5配置 112
第9章  LVM存儲空間的管理 115
9.1  LVM概述 115
9.1.1  LVM的原理 115
9.1.2  LVM常用術語 116
9.1.3  LVM的優點 116
9.2  創建LVM的基本步驟 117
9.2.1  LVM的創建 117
9.2.2  LVM管理常用命令 120
9.2.3  邏輯捲的掛載 120
9.3  LVM的日常維護 122
9.3.1  LV存儲空間擴容 122
9.3.2  VG存儲空間擴容 123
9.3.3  LVM刪除操作 123
第10章  Linux網絡協議及進程管理 125
10.1  OSI和TCP/IP的模型結構 125
10.1.1  OSI模型 126
10.1.2  TCP/IP模型 126
10.2  電腦的網絡類型、協議及IP地址 127
10.2.1  網絡類型 127
10.2.2  常見網絡協議 128
10.2.3  IP地址分類 129
10.3  TCP與UDP協議 130
10.3.1  TCP的概念 130
10.3.2  TCP三次握手 130
10.3.3  TCP四次揮手 131
10.3.4  TCP與UDP協議 131
10.3.5  基於VMWare的網絡模式 132
10.4  網絡相關調試工具 133
10.4.1  修改網卡IP地址 133
10.4.2  新增網卡設備 134
10.4.3  自動獲取IP地址 135
10.4.4  配置靜態IP地址 136
10.4.5  案例:設置臨時IP地址 137
10.4.6  埠的監聽狀態 137
10.5  系統進程管理 138
10.5.1  進程的概念 138
10.5.2  進程的屬性 139
10.5.3  進程的優先級 139
10.5.4  查看進程的命令ps與lsof 140
10.5.5  pstree工具的使用 143
第11章  軟件包的管理與安裝 144
11.1  RPM管理軟件包 144
11.1.1  RPM的使用 144
11.1.2  安裝RPM軟件 146
11.1.3  RPM查詢功能 147
11.1.4  RPM包卸載和升級 148
11.1.5  解決Redis依賴關系問題 148
11.2  搭建YUM服務 150
11.2.1  配置YUM服務的源 151
11.2.2  YUM源的使用 152
11.2.3  YUM服務常用命令 154
11.2.4  YUM服務的其他應用 155
第12章  Samba服務的搭建與應用 157
12.1  Samba簡介 157
12.2  軟件開發架構概述 158
12.2.1  C/S架構 158
12.2.2  B/S架構 158
12.3  Samba通信協議與服務搭建 159
12.3.1  Samba通信協議 159
12.3.2  搭建Samba服務 160
12.4  基於Windows的客戶端應用 162
12.4.1  Windows客戶端配置 162
12.4.2  基於samba-swat的工具應用 164
第13章  FTP服務的搭建與應用 166
13.1  FTP服務簡介 166
13.1.1  FTP服務模型 166
13.1.2  FTP的工作模式 167
13.2  FTP基礎環境搭建 168
13.2.1  安裝VSFTP軟件 168
13.2.2  基於VSFTP的配置文件 169
13.3  VSFTP配置應用 170
13.3.1  實戰一:創建匿名用戶 170
13.3.2  實戰二:虛擬用戶應用 171
13.4  FTP維護術語與響應碼 173
13.4.1  FTP常用術語 174
13.4.2  FTP響應碼 174
第14章  NFS服務的搭建與應用 177
14.1  NFS簡介 177
14.1.1  NFS服務的基本概念 177
14.1.2  安裝NFS組件 178
14.1.3  NFS進程管理 178
14.2  NFS服務的配置與掛載 179
14.2.1  NFS服務的配置 179
14.2.2  開機自動掛載 181
 
第15章  NTP服務的搭建與應用 182
15.1  NTP服務的搭建 182
15.1.1  NTP的基本概念 182
15.1.2  NTP的工作原理 183
15.1.3  安裝NTP服務組件 183
15.2  NTP服務配置 184
15.2.1  NTP配置文件 184
15.2.2  NTP獲取可靠時間源 186
15.2.3  NTP服務器時區設置 187
15.3  基於NTP的時間同步配置 188
15.3.1  Linux系統時間同步 188
15.3.2  案例:同步阿裡雲時間服務器 189
第16章  DNS域名系統的搭建與應用 190
16.1  DNS概述 190
16.1.1  DNS的基本概念 190
16.1.2  域和域名 191
16.2  DNS基礎環境搭建 192
16.2.1  DNS的工作原理 192
16.2.2  域名解析的方式 193
16.2.3  DNS服務組件的安裝與進程管理 194
16.3  域名系統的基本應用 196
16.3.1  正/反向解析 196
16.3.2  DNS資源記錄 197
16.3.3  域名系統服務配置 198
第17章  DHCP服務的搭建與應用 207
17.1  DHCP概述 207
17.1.1  什麽是DHCP 207
17.1.2  DHCP服務的IP地址分配 208
17.1.3  DHCP的特殊地址段 208
17.2  DHCP服務環境搭建 209
17.2.1  DHCP服務組件安裝 209
17.2.2  DHCP服務運行原理 210
17.2.3  DHCP配置文件 211
17.3  案例:DHCP環境的搭建與測試 213
第18章  防火牆的概念及配置 215
18.1  防火牆概述 215
18.1.1  防火牆的概念 215
18.1.2  firewalld和iplables防火牆 216
18.2  防火牆的表概念 217
18.2.1  iptables中的三張表和五個鏈 217
18.2.2  iptables的過濾封包流程 218
18.2.3  iptables的語法 219
18.2.4  匹配應用舉例 222
18.3  firewalld的域和服務 224
18.3.1  什麽是域 224
18.3.2  服務的概念 225
18.4  firewalld常用命令及配置文件 226
18.4.1  基本命令及應用 226
18.4.2  配置文件及應用 228
第19章  企業級Nginx服務的搭建與應用案例 231
19.1  Nginx概述 231
19.1.1  Nginx是什麽 231
19.1.2  Nginx的作用 231
19.1.3  Nginx的特點和應用領域 232
19.1.4  正/反向代理的概念 232
19.2  Nginx服務的安裝配置 233
19.2.1  Nginx基礎環境搭建 233
19.2.2  服務進程啟動設置 235
19.2.3  主配置文件介紹 236
19.3  案例:Nginx在企業中的幾種常見應用 239
19.3.1  搭建基於域名/IP的虛擬機 239
19.3.2  配置基於埠的虛擬機 240
19.3.3  基於Nginx的負載均衡配置 241
第20章  LAMP架構的搭建與應用案例 243
20.1  LAMP概述 243
20.1.1  什麽是LAMP 243
20.1.2  Apache的基本模型 243
20.1.3  LAMP相關網站 244
20.1.4  搭建LAMP需要的組件 244
20.2  構建LAMP源碼編譯基礎環境 245
20.3  虛擬主機配置 248
20.3.1  基於埠號的虛擬主機 248
20.3.2  基於域名創建虛擬主機 249
20.4  企業MySQL數據庫環境搭建 250
20.4.1  MySQL概述 250
20.4.2  安裝MySQL軟件包 250
20.4.3  配置MySQL數據庫 253
20.5  企業級源碼編譯安裝PHP 255
20.6  案例:游戲部署及網站搭建 257
20.6.1  部署游戲上線 257
20.6.2  部署上線靜態網站 258
20.6.3  一鍵搭建LAMP架構環境 259
第21章  Tomcat服務的搭建與應用案例 262
21.1  Tomcat的基本概念 262
21.1.1  Tomcat基本架構模型 262
21.1.2  Tomcat軟件安裝 262
21.2  Tomcat的基本結構 265
21.2.1  Tomcat目錄 265
21.2.2  Tomcat日誌文件 265
21.2.3  Tomcat主配置文件 266
21.2.4  Tomcat的三個埠 268
21.3  案例:基於Tomcat的應用部署 269
21.3.1  Tomcat多應用部署 269
21.3.2  Tomcat的集群搭建 271
21.3.3  Tomcat上線JPress系統 272
第22章  Cobbler服務的搭建與應用案例 275
22.1  Cobbler簡介 275
22.1.1  Cobbler的基本概念 275
22.1.2  Cobbler的相關服務 276
22.1.3  Cobbler的工作過程 276
22.2  Cobbler的系統配置與環境搭建 277
22.2.1  系統配置 277
22.2.2  環境搭建 278
22.3  配置相關服務 279
22.4  案例:Cobbler自動化安裝測試 284
第23章  Jenkins服務的搭建與應用 285
23.1  Jenkins簡介 285
23.1.1  Jenkins的基本概念 285
23.1.2  持續集成的概念 286
23.2  Jenkins基礎環境搭建 286
23.2.1  Jenkins分佈式架構原理 287
23.2.2  安裝Jenkins的Java環境 287
23.2.3  安裝Jenkins服務組件 288
23.3  基於Web的Jenkins維護 291
23.3.1  Jenkins憑據應用管理 291
23.3.2  更新Jenkins插件版本 293
23.3.3  新建任務演示 294
23.4  Pipeline的基本應用 297
23.4.1  Pipeline的基本概念 297
23.4.2  Pipeline的結構 297
23.4.3  新建Pipeline任務 299
第24章  Zabbix監控系統的搭建與應用 302
24.1  Zabbix概述 302
24.1.1  Zabbix介紹 302
24.1.2  Zabbix組件結構 302
24.2  Zabbix服務搭建 303
24.2.1  安裝Zabbix服務組件 303
24.2.2  啟動Zabbix的服務進程 304
24.2.3  安裝MariaDB數據庫 304
24.3  Zabbix系統應用配置 305
24.3.1  為Zabbix前端配置PHP並更改時區 305
24.3.2  Zabbix監控配置 306
第25章  Ansible工具的配置與應用 313
25.1  搭建Ansible基礎環境 313
25.1.1  Ansible的基本概念 313
25.1.2  安裝Ansible軟件 314
25.2  Ansible插件的基本配置 315
25.2.1  安裝Ansible的插件 315
25.2.2  基於Python的環境配置 316
25.3  進入Ansible虛擬環境 318
25.3.1  創建playbook的目錄結構 319
25.3.2  使用默認的調用入口文件 320
25.3.3  自定義調用入口文件 320
第26章  shell及其常用命令 322
26.1  shell概述 322
26.1.1  什麽是shell 322
26.1.2  shell的工作原理 323
26.2  shell的常用命令 324
26.2.1  grep命令 324
26.2.2  cat命令 325
26.2.3  sort命令 326
26.2.4  uniq命令 327
26.2.5  tee命令 327
26.2.6  tr命令 328
26.3  變量的基本概念 329
26.3.1  變量的概念 329
26.3.2  變量的定義與引用 329
26.3.3  變量的其他用法 332
26.4  變量的類型 334
26.4.1  環境變量 334
26.4.2  局部變量 335
26.4.3  特殊變量 336
26.4.4  系統內置變量 336
26.5  變量的其他定義方式 338
26.6  shell的腳本編程 339
26.6.1  什麽是shell腳本 339
26.6.2  shell中的通配符 340
26.6.3  shell中的引號 341
第27章  shell編程的流程控制 343
27.1  選擇結構shell腳本 343
27.1.1  流程選擇控制 343
27.1.2  案例解析 345
27.2  shell腳本的運算符 346
27.2.1  算術運算符 347
27.2.2  關系運算符 349
27.2.3  邏輯運算符 350
27.2.4  字符串運算符 351
27.2.5  文件測試運算符 352
27.3  腳本中的參數傳遞 354
27.4  循環語句 356
27.4.1  for循環語句 356
27.4.2  until循環語句 359
27.4.3  while循環語句 360
27.4.4  循環語句實例—隨機數應用 360
27.4.5  嵌套循環語句 362
第28章  case語句、函數與正則表達式 364
28.1  case語句 364
28.2  函數及應用 366
28.2.1  函數的基本概念 366
28.2.2  函數的調用方式 367
28.3  正則表達式 369
28.3.1  正則表達式簡述 369
28.3.2  正則表達式所解決的問題 369
28.3.3  正則表達式的元字符和應用 370
第29章  shell編程常用工具 374
29.1  sed工具及其應用 374
29.1.1  sed的工作流程 374
29.1.2  sed的語法格式 375
29.1.3  sed命令的基本應用 375
29.1.4  sed的綜合運用 379
29.2  awk工具及其應用 380
29.2.1  awk的基本使用 380
29.2.2  awk的腳本編程 385
29.3  提取網卡的IP地址 387




相關書籍

LTE Optimization Engineering Handbook

作者 Xincheng Zhang

2022-07-01

量子霸權(Quantum Supermacy)世界大戰開打:量子電腦真的來了

作者 李聯寧

2022-07-01

Opportunities in 5G Networks: A Research and Development Perspective (Hardcover)

作者 Fei Hu

2022-07-01