從零開始 Linux 運維實踐

吳永袁、王霄

  • 出版商: 清華大學
  • 出版日期: 2022-07-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • ISBN: 7302609063
  • ISBN-13: 9787302609063
  • 相關分類: Linux
  • 立即出貨

  • 從零開始 Linux 運維實踐-preview-1
  • 從零開始 Linux 運維實踐-preview-2
  • 從零開始 Linux 運維實踐-preview-3
從零開始 Linux 運維實踐-preview-1

買這商品的人也買了...

商品描述

本書是一本針對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