內容簡介
Ubuntu Linux是目前流行的Linux作業系統之一。Ubuntu的目標在於為一般用戶提供一個*新的、相當穩定的、主要由自由軟體構建而成的作業系統。Ubuntu具有龐大的社區力量,用戶可以方便地從社區獲得幫助。《Ubuntu Linux運維從零開始學》詳解Ubuntu Server 22.04運維基礎和常用工具,配套PPT課件和作者QQ群答疑服務。
全書共分24章,內容包括了解Linux、安裝Ubuntu、檔案系統基礎知識、檔案和目錄管理、用戶和許可權管理、系統啟動和關閉、服務和進程管理、軟體包管理、磁碟和檔案系統管理、文本編輯器、網路管理、系統和網路安全、Samba檔案伺服器、FTP檔案傳輸服務、NFS網路檔案服務、NTP服務搭建與套用、DNS域名服務、DHCP動態主機配置協定、Nginx服務的搭建、Tomcat服務搭建與套用、LAMP的搭建、Jenkins服務搭建與套用、Zabbix監控系統搭建與套用、Ansible配置與套用。
《Ubuntu Linux運維從零開始學》適合Ubuntu Linux初學者、Ubuntu運維人員、Ubuntu套用開發人員。本書也適合作為高等院校或高職高專Linux課程的教材。
作者簡介
圖書目錄
目 錄
第1章 了解Linux 1
1.1 什麼是Linux 1
1.2 Linux發行版 3
1.3 了解Ubuntu 6
1.3.1 什麼是Ubuntu 6
1.3.2 Ubuntu的版本 6
1.3.3 Ubuntu的特點 8
1.3.4 如何獲取Ubuntu 8
第2章 安裝Ubuntu 10
2.1 準備安裝Ubuntu 10
2.2 虛擬機軟體 12
2.2.1 常見的虛擬機軟體 12
2.2.2 選擇虛擬機軟體 13
2.2.3 安裝Oracle VM VirtualBox 13
2.3 安裝Ubuntu Server 17
2.3.1 創建虛擬機 17
2.3.2 安裝Ubuntu伺服器系統 20
2.4 安裝過程中的常見問題 27
2.4.1 選擇32位還是64位的Ubuntu 27
2.4.2 應該選擇哪種語言 28
2.4.3 Ubuntu中的磁碟分區與Windows中的磁碟分區是否相同 28
第3章 檔案系統的基礎知識 29
3.1 檔案系統的層次結構 29
3.1.1 樹形層次結構 29
3.1.2 路徑名 31
3.1.3 Linux目錄結構 32
3.2 檔案類型 34
3.2.1 普通檔案 34
3.2.2 目錄檔案 36
3.2.3 字元設備檔案 37
3.2.4 塊設備檔案 38
3.2.5 管道 39
3.2.6 套接字 42
3.2.7 檔案連結 42
3.3 檔案許可權 45
3.3.1 檔案許可權介紹 45
3.3.2 顯示檔案許可權 46
3.3.3 修改檔案許可權 48
3.3.4 更改檔案所有權 50
3.3.5 檔案的特殊許可權 51
第4章 檔案和目錄管理 53
4.1 創建檔案 53
4.1.1 使用touch命令創建檔案 54
4.1.2 使用重定向創建檔案 54
4.1.3 使用vi命令創建檔案 55
4.2 顯示檔案列表 57
4.2.1 使用ls命令顯示檔案列表 58
4.2.2 顯示隱藏檔案 60
4.2.3 遞歸顯示目錄內容 61
4.3 顯示檔案內容 62
4.3.1 拼接檔案內容:cat命令 62
4.3.2 分屏顯示:more命令 65
4.3.3 前後翻頁分屏顯示:less命令 66
4.3.4 查看前幾行內容:head命令 66
4.3.5 查看最後幾行內容:tail命令 67
4.4 檔案的常用操作 69
4.4.1 複製檔案 69
4.4.2 移動檔案 71
4.4.3 刪除檔案 71
4.4.4 比較檔案 72
4.4.5 重命名檔案 74
4.5 搜尋檔案 74
4.5.1 快速搜尋檔案:locate命令 74
4.5.2 按類型搜尋:whereis命令 76
4.5.3 搜尋二進制檔案:which命令 77
4.5.4 全功能搜尋:find命令 77
4.6 文本內容篩選 79
4.6.1 使用grep命令檢索文本內容 79
4.6.2 篩選其他命令的輸出結果 81
4.6.3 在grep命令中使用正則表達式 81
4.7 文本排序 83
4.7.1 對文本檔案的內容進行排序 84
4.7.2 合併有序檔案 85
4.8 檔案的壓縮和解壓 86
4.8.1 壓縮檔案 86
4.8.2 解壓檔案 88
4.9 目錄管理 89
4.9.1 顯示當前工作目錄 89
4.9.2 改變目錄 89
4.9.3 創建目錄 90
4.9.4 移動目錄 91
4.9.5 複製目錄 91
4.9.6 刪除目錄 91
第5章 用戶和許可權管理 92
5.1 用戶和用戶組基礎 92
5.1.1 用戶和用戶標識號 92
5.1.2 用戶組和組標識號 93
5.1.3 /etc/passwd檔案 94
5.1.4 /etc/shadow檔案 95
5.1.5 /etc/group檔案 96
5.2 用戶管理 97
5.2.1 添加用戶:useradd命令 97
5.2.2 添加用戶:adduser命令 98
5.2.3 修改用戶:usermod命令 100
5.2.4 刪除用戶:userdel命令 100
5.2.5 修改用戶密碼:passwd命令 101
5.2.6 顯示用戶信息:id命令 102
5.2.7 用戶間切換:su命令 103
5.2.8 受限的特權:sudo命令 103
5.3 用戶組管理 105
5.3.1 添加用戶組:groupadd命令 106
5.3.2 添加用戶組:addgroup命令 106
5.3.3 修改用戶組:groupmod命令 106
5.3.4 刪除用戶組:groupdel命令 106
5.4 許可權管理 107
5.4.1 許可權概述 107
5.4.2 改變檔案所有者:chown命令 109
5.4.3 改變檔案所屬組:chgrp命令 110
5.4.4 設定許可權掩碼:umask命令 110
5.4.5 修改檔案訪問許可權:chmod命令 111
5.4.6 修改檔案訪問控制列表:setfacl命令 113
第6章 系統的啟動和關閉 115
6.1 Ubuntu的啟動過程 115
6.1.1 BIOS階段 116
6.1.2 引導程式階段 116
6.1.3 核心階段 119
6.1.4 進入系統 119
6.2 引導相關組件 120
6.2.1 主引導記錄 120
6.2.2 GRUB啟動程式 120
6.3 登錄 126
6.3.1 login進程 126
6.3.2 選擇Shell 128
6.3.3 用戶初始化檔案 129
6.4 關閉系統 131
6.4.1 shutdown命令 131
6.4.2 init命令 132
6.4.3 其他命令 133
第7章 服務和進程管理 134
7.1 初始化程式概述 134
7.1.1 初始化程式 135
7.1.2 systemd 140
7.1.3 systemd的基本配置檔案 141
7.2 systemd單元 142
7.2.1 單元類型 142
7.2.2 列出單元 144
7.2.3 查看單元狀態 146
7.2.4 單元依賴 148
7.2.5 單元配置檔案 149
7.3 systemd單元管理 152
7.3.1 啟動服務 152
7.3.2 停止服務 152
7.3.3 重啟服務 153
7.3.4 重新載入服務配置檔案 153
7.3.5 查看服務狀態 153
7.3.6 配置服務自動啟動 154
7.3.7 禁止服務自動啟動 155
7.3.8 重新載入單元配置檔案 156
7.3.9 顯示服務屬性 156
7.3.10 設定服務屬性 157
7.4 常用的systemd命令 158
7.4.1 systemd-analyze命令 158
7.4.2 hostnamectl命令 160
7.4.3 localectl命令 161
7.4.4 timedatectl命令 161
7.4.5 loginctl命令 162
7.5 目標 162
7.5.1 理解目標 163
7.5.2 切換目標 166
7.5.3 默認目標 166
7.6 日誌管理 166
7.6.1 讀取日誌 167
7.6.2 過濾輸出 167
7.6.3 日誌大小限制 169
7.6.4 手動清理日誌 170
7.7 進程管理 171
7.7.1 查詢進程及其狀態 171
7.7.2 監控進程及系統資源 173
7.7.3 終止進程 178
7.7.4 調整進程優先權 179
第8章 軟體包管理 180
8.1 軟體包管理概述 180
8.1.1 軟體包管理的基本概念 181
8.1.2 軟體包管理工具 182
8.2 apt-get命令 184
8.2.1 搜尋軟體包 184
8.2.2 apt-get命令的基本語法 187
8.2.3 安裝軟體包 187
8.2.4 重新安裝軟體包 188
8.2.5 刪除軟體包 189
8.2.6 更新和升級軟體包 189
8.3 apt命令 190
8.3.1 apt命令的基本語法 190
8.3.2 搜尋軟體包 191
8.3.3 安裝軟體包 191
8.3.4 刪除軟體包 192
8.3.5 更新和升級軟體包 192
8.4 aptitude命令 193
8.4.1 aptitude命令的基本語法 193
8.4.2 搜尋軟體包 194
8.4.3 安裝軟體包 195
8.4.4 刪除軟體包 196
8.4.5 更新和升級軟體包 196
8.4.6 圖形化界面 197
8.5 synaptic軟體管理工具 198
8.5.1 安裝軟體包 198
8.5.2 刪除軟體包 200
8.5.3 更新和升級軟體包 201
第9章 磁碟和檔案系統管理 202
9.1 磁碟管理基礎 202
9.1.1 磁頭 203
9.1.2 磁軌 203
9.1.3 柱面 203
9.1.4 扇區 204
9.1.5 磁碟分區 204
9.2 檔案系統的基礎知識 204
9.2.1 常見的檔案系統 205
9.2.2 塊 206
9.2.3 引導塊 207
9.2.4 超級塊 207
9.2.5 索引節點 208
9.3 創建檔案系統 209
9.3.1 創建分區 209
9.3.2 mkfs命令 213
9.3.3 創建Ext2/Ext3/Ext4檔案系統 216
9.3.4 創建NTFS檔案系統 217
9.3.5 創建FAT檔案系統 217
9.3.6 調整檔案系統 218
9.4 掛載與卸載檔案系統 219
9.4.1 掛載點 219
9.4.2 mount和findmnt命令 220
9.4.3 /etc/fstab檔案 222
9.4.4 手工掛載檔案系統 223
9.4.5 自動掛載檔案系統 224
9.4.6 卸載檔案系統 224
9.5 檢查與修復檔案系統 226
9.5.1 fsck和e2fsck命令 226
9.5.2 互動式檢查與修復檔案系統 227
9.5.3 自動檢查與修復檔案系統 227
9.5.4 恢復嚴重受損的超級塊 228
9.6 磁碟陣列 228
9.6.1 磁碟陣列的優缺點 229
9.6.2 磁碟陣列級別 229
9.6.3 創建磁碟陣列 231
9.7 邏輯卷管理 236
9.7.1 邏輯卷管理的基本概念 237
9.7.2 安裝LVM 237
9.7.3 創建物理卷 237
9.7.4 創建卷組 240
9.7.5 創建邏輯卷 241
9.7.6 擴展邏輯卷 242
9.7.7 壓縮邏輯卷 243
第10章 Vim文本編輯器 245
10.1 Vim基礎 245
10.1.1 Vim介紹 245
10.1.2 Vim的發展歷史 246
10.1.3 Vim的優勢 246
10.2 Vim模式 247
10.2.1 三種工作模式 247
10.2.2 命令模式的基本操作 247
10.2.3 末行模式下的基本操作 250
第11章 網路管理 252
11.1 網路接口 252
11.1.1 查看網路接口 252
11.1.2 網路接口命名 256
11.1.3 配置網路接口IP位址 257
11.1.4 域名解析 260
11.2 常用的網路配置命令 260
11.2.1 ifconfig命令 261
11.2.2 ip命令 262
11.2.3 route命令 269
11.2.4 netstat命令 270
11.2.5 nslookup命令 273
11.2.6 ping命令 274
11.3 防火牆 275
11.3.1 ufw簡介 275
11.3.2 ufw的配置 275
11.3.3 ufw與套用系統的整合 277
11.3.4 ufw日誌管理 278
第12章 系統和網路安全 279
12.1 用戶管理安全 279
12.1.1 管理好root用戶 279
12.1.2 用戶資料安全 280
12.1.3 密碼策略 281
12.2 防火牆 283
12.2.1 ufw 283
12.2.2 IP偽裝 283
12.2.3 日誌 284
12.3 AppArmor 284
12.3.1 安裝AppArmor 284
12.3.2 使用AppArmor 285
12.3.3 AppArmor配置檔案 286
12.4 數字證書 288
12.4.1 獲取數字證書 288
12.4.2 生成密鑰 288
12.4.3 生成證書籤署請求 289
12.4.4 安裝證書 290
12.5 弱點掃描 290
12.5.1 安裝GVM(OpenVAS) 290
12.5.2 OpenVAS的儀錶盤 294
12.5.3 掃描任務管理 294
12.5.4 掃描報表 296
12.6 入侵檢測 297
12.6.1 安裝Snort 297
12.6.2 Snort配置檔案 298
12.6.3 Snort檢測規則 299
12.6.4 測試Snort 300
第13章 Samba檔案伺服器 301
13.1 Samba服務簡介 301
13.2 Samba服務的安裝與配置 302
第14章 FTP檔案傳輸服務 306
14.1 FTP檔案傳輸協定 306
14.2 安裝vsftpd 307
14.3 vsftpd的配置檔案 307
14.4 管理FTP用戶 310
14.5 演示:使用FTP傳輸檔案 315
第15章 NFS網路檔案服務 320
15.1 安裝NFS服務 320
15.2 已分享檔案系統 321
15.3 掛載NFS檔案系統 323
15.4 NFS檔案系統許可權 324
第16章 NTP服務的搭建與套用 327
16.1 安裝NTP服務 327
16.2 NTP服務配置 328
第17章 DNS域名服務 330
17.1 域名、IP位址、域名伺服器 330
17.2 BIND以及組件 331
17.3 BIND配置檔案 332
17.4 配置區域 336
17.5 資源記錄 337
17.6 演示:DNS伺服器配置實例 339
第18章 DHCP動態主機配置協定 343
18.1 DHCP的工作原理 343
18.2 配置DHCP伺服器 344
18.3 配置DHCP客戶端 346
第19章 Nginx服務的搭建 348
19.1 Nginx概述 348
19.2 安裝Nginx 349
19.3 訪問Nginx 350
第20章 Tomcat服務的搭建與套用 352
20.1 Tomcat概述 352
20.2 安裝Tomcat 353
20.3 配置Tomcat 355
第21章 LAMP的搭建 357
21.1 Apache HTTP服務的安裝與配置 357
21.1.1 HTTP協定簡介 357
21.1.2 Apache服務的安裝、配置與啟動 359
21.2 安裝MySQL 361
21.3 安裝PHP 363
第22章 Jenkins服務的搭建與套用 364
22.1 安裝Jenkins 364
22.2 Jenkins流水線 368
22.2.1 Blue Ocean UI 368
22.2.2 經典UI 368
第23章 Zabbix監控系統的搭建與套用 372
23.1 Zabbix概述 372
23.2 Zabbix Server服務搭建 377
23.3 Zabbix Server配置 380
23.3.1 歡迎界面與先決條件檢查 380
23.3.2 配置、安裝與登錄 382
23.4 Zabbix Agent配置 384
23.4.1 Agent配置 384
23.4.2 Server添加主機 386
第24章 Ansible工具的配置與套用 387
24.1 Ansible的基礎概念 387
24.2 Ansible的特點與功能 388
24.3 Ansible的安裝與配置 389
24.3.1 安裝Ansible 389
24.3.2 配置Ansible 391