Ubuntu Linux 系統管理實戰
內容描述
Linux是目前使用最為廣泛的操作系統,而Ubuntu是眾多Linux發行版中的佼佼者。本書由淺入深、循序漸進,使零基礎的讀者也能夠熟練掌握如何管理和維護Ubuntu系統。
《Ubuntu Linux系統管理實戰》分為三部分,第一部分是Ubuntu入門,包括Linux基礎知識、Ubuntu 17的安裝和配置、桌面環境、文件系統基礎知識、文件和目錄管理以及用戶和權限管理等。第二部分是進階篇,包括Ubuntu系統的啟動和關閉、服務和進程管理、軟件包管理、磁盤和文件系統管理以及網絡管理等。第三部分是精通Linux,包括Shell編程、網絡服務管理以及虛擬化和雲計算等。
《Ubuntu Linux系統管理實戰》內容精練、重點突出、實例豐富,是廣大Linux維護和開發人員、網絡管理維護人員必備的參考書,同時非常適合大中專院校師生學習閱讀,也可作為高等院校電腦及相關專業當教材使用。
海報:
目錄大綱
第一篇Ubuntu入門
第1章了解Ubuntu 3
1.1什麼是Linux 3
1.2 Linux發行版5
1.2.1 Debian 6
1.2.2 Ubuntu 6
1.2.3 Arch Linux 7
1.2.4 Fedora 8
1.2.5 OpenSUSE 8
1.2. 6 CentOS 9
1.2.7 Red Hat Enterprise Linux 10
1.3 Ubuntu概述10
1.3.1什麼是Ubuntu 10
1.3.2 Ubuntu的版本11
1.3.3 Ubuntu的特點12
1.3.4如何獲得Ubuntu 13
1.4 GNU GPL和POSIX介紹14
1.4.1什麼是GNU GPL 14
1.4.2 GNU GPL發展歷史14
1.4.3如何正確理解GNU GPL 15
1.4.4了解POSIX標準15
1.5學習Ubuntu的方法15
第2章安裝Ubuntu 17
2.1準備安裝Ubuntu 17
2.1 .1獲得安裝介質17
2.1.2 Ubuntu的硬件要求19
2.1.3 Ubuntu的安裝方式20
2.2虛擬機軟件20
2.2.1常見虛擬機軟件20
2.2.2選擇虛擬機軟件21
2.2.3安裝Oracle VM VirtualBox 21
2.3安裝Ubuntu的方式26
2.3.1下載ISO鏡像文件26
2.3.2創建虛擬機26
2.3.3安裝Ubuntu過程29
2.4通過網絡安裝Ubuntu 35
2.4.1下載網絡安裝器35
2.4.2通過網絡安裝Ubuntu步驟35
2.5將Ubuntu安裝到U盤中41
2.5.1 Rufus工具42
2.5.2製作LiveUSB Ubuntu系統42
2.6安裝過程中的常見問題44
2.6.1選擇32位還是64位的Ubuntu 44
2.6.2應該選擇哪種語言45
2.6.3 Ubuntu中的磁盤分區與Windows中的磁盤分區45
第3章桌面環境46
3.1常見的桌面環境46
3.1.1 KDE 46
3.1.2 GNOME 48
3.1.3 Xfce 50
3.1.4 Unity 51
3.2使用Unity 52
3.2.1菜單欄52
3.2.2啟動器54
3.2.3 Dash 55
3.2.4工作區56
3.2.5管理窗口58
3.2.6文件管理器59
3.2.7搜索文件和文件夾61
3.2.8定制桌面63
3.3使用GNOME 65
3.3.1桌面佈局65
3.3 .2活動按鈕66
3.3.3工作區66
3.3.4浮動面板67
3.3.5顯示應用程序68
3.3.6鎖定、關閉或者重啟電腦69
第4章文件系統基礎知識70
4.1文件系統的層次結構70
4.1 .1樹形層次結構70
4.1.2路徑名72
4.1.3 Linux目錄結構74
4.2文件類型75
4.2.1普通文件75
4.2.2目錄文件78
4.2.3字符設備文件79
4.2.4塊設備文件80
4.2.5管道81
4.2.6套接字84
4.2.7文件鏈接84
4.3文件權限87
4.3.1文件權限概述88
4.3.2顯示文件權限89
4.3.3修改文件權限91
4.3.4更改文件所有權94
4.3.5文件特殊權限95
第5章文件和目錄管理98
5.1創建文件98
5.1.1使用touch命令創建文件99
5.1.2使用重定向創建文件99
5.1.3使用vi命令創建文件101
5.2顯示文件列表103
5.2.1使用ls命令顯示文件列表103
5.2.2顯示隱藏文件106
5.2.3遞歸顯示目錄內容107
5.3顯示文件內容108
5.3.1拼接文件內容:cat命令108
5.3.2分屏顯示:more命令111
5.3.3前後翻頁分屏顯示:less命令113
5.3.4查看前幾行內容:head命令113
5.3.5查看最後幾行內容:tail命令114
5.4文件的常用操作116
5.4.1複製文件116
5.4.2移動文件118
5.4.3刪除文件119
5.4.4比較文件120
5.4.5重命名文件122
5.5搜索文件122
5.5.1快速搜索文件:locate命令122
5.5.2按類型搜索:whereis命令125
5.5 .3搜索二進製文件:which命令125
5.5.4全功能搜索:find命令126
5.6文本內容篩選127
5.6.1使用grep命令檢索文本內容128
5.6.2篩選其他命令的輸出結果129
5.6.3在grep命令中使用正則表達式130
5.7文本排序132
5.7.1使用sort命令文本排序133
5.7.2合併有序文件134
5.8文件的壓縮和解壓135
5.8.1壓縮文件135
5.8.2解壓文件138
5.9目錄管理139
5.9.1顯示當前工作目錄139
5.9.2改變目錄139
5.9.3創建目錄140
5.9.4移動目錄141
5.9.5複製目錄141
5.9.6刪除目錄141
第6章用戶和權限管理142
6.1用戶和用戶組基礎142
6.1.1用戶和用戶標識號142
6.1.2用戶組和組標識號143
6.1.3 /etc/passwd文件144
6.1.4 /etc/shadow文件145
6.1.5 /etc/group文件146
6.2用戶管理147
6.2.1添加用戶:useradd命令147
6.2.2添加用戶:adduser命令148
6.2.3修改用戶:usermod命令150
6.2.4刪除用戶:userdel命令151
6.2.5修改用戶密碼:passwd命令152
6.2.6顯示用戶信息:id命令153
6.2.7用戶間切換:su命令154
6.2. 8受限的特權:sudo命令154
6.3用戶組管理157
6.3.1添加用戶組:groupadd命令157
6.3.2添加用戶組:addgroup命令157
6.3.3修改用戶組:groupmod命令157
6.3.4刪除用戶組:groupdel命令158
6.4權限管理158
6.4.1權限概述158
6.4.2改變文件所有者:chown命令160
6.4.3改變文件所屬組:chgrp命令161
6.4.4設置權限掩碼:umask命令162
6.4.5修改文件訪問權限:chmod命令163
6.4.6修改文件ACL:setfacl命令165
6.4.7查詢文件ACL:getfacl命令166
第二篇進階篇
第7章系統啟動和關閉169
7.1 Ubuntu啟動過程169
7.1.1 BIOS階段169
7.1.2引導程序階段170
7.1.3內核階段173
7.1.4進入系統174
7.2引導相關組件174
7.2.1主引導記錄174
7.2.2 GRUB啟動程序175
7.3登錄181
7.3.1 login進程181
7.3.2選擇Shell 183
7.3.3用戶初始化文件185
7.4關閉系統187
7.4.1 shutdown命令187
7.4.2 init命令188
7.4.3其他命令188
第8章服務和進程管理189
8.1初始化程序概述189
8.1.1初始化程序190
8.1.2 systemd 196
8.1.3 systemd基本配置文件197
8.2 systemd單元198
8.2.1單元類型198
8.2.2列出單元200
8.2.3查看單元狀態203
8.2.4單元依賴205
8.2.5單元配置文件207
8.3 systemd單元管理209
8.3.1啟動服務210
8.3 .2停止服務210
8.3.3重啟服務210
8.3.4重新加載服務配置文件211
8.3.5查看服務狀態211
8.3.6配置服務自動啟動212
8.3.7禁止服務自動啟動213
8.3.8重新加載單元配置文件214
8.3.9顯示服務屬性214
8.3.10設置服務屬性216
8.4常用systemd命令216
8.4.1 systemd-analyze命令分析系統啟動時的性能216
8.4.2 hostnamectl命令219
8.4.3 localectl命令220
8.4.4 timedatectl命令220
8.4.5 loginctl命令221
8.5目標222
8.5.1理解目標222
8.5.2切換目標225
8.5.3默認目標226
8.6日誌管理226
8.6.1讀取日誌226
8.6.2過濾輸出227
8.6.3日誌大小限制229
8.6.4手動清理日誌230
8.7進程管理231
8.7.1查詢進程及其狀態231
8.7.2監控進程及系統資源233
8.7.3終止進程238
8.7.4調整進程優先級239
第9章軟件包管理241
9.1軟件包管理概述241
9.1.1軟件包管理基本概念241
9.1.2軟件包管理工具243
9.2 apt-get命令245
9.2.1搜索軟件包245
9.2.2 apt-get命令基本語法247
9.2.3安裝軟件包248
9.2.4重新安裝軟件包249
9.2.5刪除軟件包250
9.2.6更新和升級軟件包251
9.3 apt命令253
9.3.1 apt命令基本語法253
9.3.2搜索軟件包253
9.3.3安裝軟件包254
9.3.4刪除軟件包254
9.3.5更新和升級軟件包255
9.4 aptitude命令255
9.4.1 aptitude命令基本語法255
9.4.2搜索軟件包257
9.4.3安裝軟件包259
9.4.4刪除軟件包259
9.4.5更新和升級軟件包260
9.4.6圖形化界面260
9.5 synaptic軟件管理工具261
9.5.1安裝軟件包261
9.5.2刪除軟件包264
9.5.3更新和升級軟件包265
第10章磁盤和文件系統管理266
10.1磁盤管理基礎266
10.1.1磁頭266
10.1.2磁道267
10.1.3柱面267
10.1.4扇區267
10.1.5磁盤分區268
10.2文件系統基礎知識268
10.2.1常見文件系統269
10.2.2塊271
10.2.3引導塊272
10.2.4超級塊272
10.2. 5索引節點272
10.3創建文件系統273
10.3.1創建分區273
10.3.2 mkfs命令278
10.3.3創建ext2/ext3/ext4文件系統281
10.3.4創建NTFS文件系統282
10.3.5創建FAT文件系統282
10.3 .6調整文件系統284
10.4掛載與卸載文件系統285
10.4.1掛載點285
10.4.2 mount和findmnt命令286
10.4.3 /etc/fstab文件289
10.4.4手工掛載文件系統290
10.4.5自動掛載文件系統291
10.4.6卸載文件系統291
10.5檢查與修復文件系統292
10.5.1 fsck和e2fsck命令293
10.5.2交互式檢查與修復文件系統294
10.5.3自動檢查與修復文件系統294
10.5.4恢復嚴重受損的超級塊295
10.6磁盤陣列296
10.6.1磁盤陣列概述296
10.6.2磁盤陣列級別296
10.6.3創建磁盤陣列299
10.7邏輯捲管理305
10.7.1邏輯捲管理基本概念305
10.7.2安裝LVM 306
10.7.3創建物理卷306
10.7.4創建卷組309
10.7.5創建邏輯卷310
10.7.6擴展邏輯卷311
10.7.7壓縮邏輯卷312
第11章網絡管理314
11.1網絡接口314
11.1.1查看網絡接口314
11.1.2網絡接口命名319
11.1.3配置網絡接口IP地址319
11.1.4域名解析323
11.2常用網絡配置命令324
11.2.1 ifconfig命令324
11.2.2 ip命令326
11.2. 3 route命令333
11.2.4 netstat命令335
11.2.5 nslookup命令338
11.2.6 ping命令339
11.3防火牆340
11.3.1 ufw簡介340
11.3.2 ufw配置340
11.3.3 ufw與應用系統的整合342
11.3.4 ufw日誌管理344
第三篇精通Linux
第12章Shell編程347
12.1 Shell編程基礎347
12.1.1 Shell 347
12.1.2 Shell腳本348
12.1.3 Shell腳本的執行方法349
12.1.4位置參數350
12.1.5內部命令351
12.2變量353
12.2.1變量分類353
12.2.2變量聲明354
12.2.3變量賦值355
12.2.4變量的引用和替換355
12.2.5變量的間接引用356
12.2.6特殊變量替換357
12.2.7單引號和雙引號358
12.2.8命令替換359
12.3算術運算359
12.3.1 let命令360
12.3.2 expr命令360
12.3.3 $(())表達式361
12.3.4 $[]表達式361
12.4數組361
12.4.1定義數組362
12.4.2獲取數組長度363
12.4.3遍歷數組363
12.4.4刪除元素365
12.4.5數組切片365
12.4.6數組替換366
12.5條件測試366
12.5.1條件測試語法367
12.5.2文件測試367
12.5.3字符串測試370
12.5.4整數值測試371
12.5.5邏輯運算符372
12.6條件語句372
12.6.1 if語句373
12.6.2 case語句375
12.7循環語句377
12.7.1 for語句377
12.7.2 while語句379
12.7.3 until語句381
12.7.4 select語句382
12.7.5嵌套循環384
12.7.6 continue和break語句384
12.8信號的捕獲與處理387
12.8.1信號387
12.8.2捕獲信號388
第13章網絡服務管理391
13.1 SSH服務391
13.1.1 SSH協議391
13.1.2配置SSH服務392
13.1.3管理SSH服務395
13.1.4使用賬號密碼登錄SSH服務396
13.1.5使用密鑰對登錄SSH服務397
13.2 FTP文件傳輸服務402
13.2.1 FTP文件傳輸協議402
13.2.2安裝vsftpd 402
13.2.3 vsftpd配置文件403
13.2.4管理FTP用戶:匿名用戶、本地用戶、虛擬用戶406
13.2.5演示:使用FTP傳輸文件411
13.3 DNS域名服務416
13.3.1域名、IP地址、域名服務器417
13.3.2 BIND以及組件418
13.3.3 BIND配置文件418
13.3.4配置區域424
13.3.5資源記錄425
13.3.6演示: DNS服務器配置實例427
13.4 NFS服務430
13.4.1安裝NFS服務431
13.4.2共享文件系統431
13.4.3掛載NFS文件系統433
13.4.4 NFS文件系統權限434
13.5其他網絡服務管理437
13.5.1 Samba資源共享437
13.5.2 Apache萬維網服務441
13.5.3 MySQL數據庫服務444
第14章虛擬化和雲計算447
14.1虛擬化基礎知識447
14.1.1虛擬化技術447
14.1.2常用虛擬化方案447
14.2 KVM 448
14.2.1 KVM及其相關組件448
14.2.2安裝KVM 448
14.2.3創建虛擬機449
14.2.4管理虛擬機451
14.3 Docker 452
14.3.1 Docker以及基礎知識452
14.3.2安裝Docker 453
14.3 .3使用鏡像454
14.3.4管理容器456
14.3.5使用網絡:外部訪問容器459
14.3.6使用網絡:容器互聯461
14.4 LXC和LXD 461
14.4.1 LXC和LXD簡介462
14.4.2安裝LXD 462
14.4 .3創建容器463
14.4.4列出容器464
14.4.5查看容器466
14.4.6管理容器466
14.4.7與容器交互467
14.4.8管理鏡像469
14.5 OpenStack 471
14.5.1 OpenStack的核心組件471
14.5. 2通過DevStack部署OpenStack 473
14.5.3儀錶盤474
14.5.4實例管理478
14.5.5鏡像管理486
14.5.6捲管理488
14.5.7網絡管理:網絡拓撲489
14.5.8網絡管理:網絡的修改和刪除490
14.5.9網絡管理:路由494
14.5.10網絡管理:安全組496
第15章系統和網絡安全499
15.1用戶管理安全499
15.1.1管理好root用戶499
15.1.2用戶資料安全500
15.1.3密碼策略501
15.2防火牆503
15.2.1 ufw 503
15.2.2 IP偽裝504
15.2.3日誌504
15.3 AppArmor 505
15.3.1安裝AppArmor 505
15.3.2使用AppArmor 505
15.3.3 AppArmor配置文件507
15.4數字證書509
15.4.1獲取數字證書509
15.4.2生成密鑰509
15.4.3生成證書籤署請求510
15.4.4安裝證書511
15.5弱點掃描511
15.5 .1安裝OpenVAS 512
15.5.2 OpenVAS儀錶盤514
15.5.3掃描任務管理514
15.5.4掃描報表516
15.6入侵檢測518
15.6.1安裝Snort 518
15.6.2 Snort配置文件519
15.6.3 Snort檢測規則519
15.6.4測試Snort 521
作者介紹
作者:張春曉
張春曉,計算機軟件與理論碩士,長期從事UNIX及Linux系統維護達15年之久,對Shell編程有深入的研究。作者熱衷於UNIX的嚴謹與簡潔,又痴迷於Linux的自由與開放,整日與UNIX及Linux為伴,從中獲益匪淺。