內容簡介
本書分為 3部分:第 1部分是 Linux系統入門,包括必須掌握的 Linux基礎、Red Hat Enterprise Linux的安裝、圖形界面、命令行界面;第 2部分是 Linux系統管理入門,包括檔案管理與磁碟管理、日誌系統、用戶和組、應用程式的管理、系統啟動控制與進程管理;第 3部分是網路管理與高級套用,包括 Linux網路管理、網路檔案共享、搭建 MySQL服務、配置 Oracle資料庫、Apache服務和 LAMP、Linux路由、NAT上網、性能檢測與最佳化、集群負載均衡 LVS、集群技術與雙機熱備、Linux防火牆管理、KVM虛似化、安裝 OpenStack。
目錄
第1章必須掌握的Linux基礎.1
1.1認識Linux.1
1.1.1Windows與Linux的區別.1
1.1.2UNIX與Linux的區別.2
1.2GNU公共許可證2
1.3Linux的核心版本3
1.4Linux的發行版本3
1.5認識RedHatEnterpriseLinux.3
1.5.1桌面版4
1.5.2伺服器版.5
1.6RedHatEnterpriseLinux6.5的新特性6
1.6.1安全和身份管理6
1.6.2網路7
1.6.3檔案系統和存儲7
1.6.4虛擬化8
1.6.5訂閱管理.9
1.6.6用戶體驗.9
1.7學習Linux的建議.9
1.8小結10
1.9習題10
第2章RedHatEnterpriseLinux的安裝11
2.1安裝前的準備11
2.1.1硬體準備.11
2.1.2選擇安裝方式12
2.2在虛擬機上安裝Linux.13
2.2.1虛擬機簡介.13
2.2.2安裝VMware虛擬機13
2.2.3創建虛擬機.15
2.2.4安裝RedHatEnterpriseLinux.18
2.3Linux的第一次啟動26
2.3.1本地登錄.26
2.3.2遠程登錄.27
2.4小結29
2.5習題30
第3章RedHatEnterpriseLinux的圖形界面31
3.1Linux的桌面系統簡介.31
3.1.1XWindow系統.31
3.1.2KDE桌面環境.32
3.1.3GNOME桌面環境33
3.2桌面系統的操作33
3.2.1選單管理.34
3.2.2設定輸入法.34
3.2.3設定日期和時間35
3.2.4配置網卡和有線35
3.2.5使用隨身碟、光碟和移動硬碟.36
3.2.6註銷和關機.37
3.3小結38
3.4習題38
第4章RedHatEnterpriseLinux的命令行界面.39
4.1認識Linux命令行模式39
4.1.1為什麼要先學習Shell.40
4.1.2如何進入命令行41
4.2bashShell的使用.42
4.2.1別名的使用.42
4.2.2歷史命令的使用43
4.2.3命令補齊.44
4.2.4命令行編輯.44
4.2.5通配符45
4.3管道與重定向46
4.3.1標準輸入與輸出46
4.3.2輸入重定向.47
4.3.3輸出重定向.48
4.3.4錯誤輸出重定向49
4.3.5管道50
4.4Linux的目錄結構51
4.5常用命令.52
4.5.1複製檔案cp53
4.5.2移動檔案mv.55
4.5.3創建檔案或修改檔案時間touch57
4.5.4刪除檔案rm60
4.5.5查看檔案cattacmorelesstactail.62
4.5.6查找檔案或目錄find.69
4.5.7過濾文本grep.76
4.5.8比較檔案差異diff81
4.5.9在檔案或目錄之間創建連結ln83
4.5.10顯示檔案類型file85
4.5.11分割檔案split86
4.5.12合併檔案join88
4.5.13檔案許可權umask.90
4.5.14文本操作awk和sed91
4.6目錄管理.96
4.6.1顯示當前工作目錄pwd.96
4.6.2建立目錄mkdir.97
4.6.3刪除目錄rmdir98
4.6.4改變工作目錄cd.100
4.6.5查看工作目錄檔案ls.101
4.6.6查看目錄樹tree104
4.6.7打包或解包檔案tar.106
4.6.8壓縮或解壓縮檔案和目錄zip/unzip.107
4.6.9壓縮或解壓縮檔案和目錄gzip/gunzip.109
4.6.10壓縮或解壓縮檔案和目錄bzip2/bunzip2.111
4.7系統管理.113
4.7.1查看命令幫助man113
4.7.2導出環境變數export.114
4.7.3查看歷史記錄history114
4.7.4顯示或修改系統時間與日期date116
4.7.5清除螢幕clear119
4.7.6查看系統負載uptime119
4.7.7顯示系統記憶體狀態free.119
4.7.8轉換或複製檔案dd.120
4.8任務管理.122
4.8.1單次任務at.122
4.8.2周期任務crond.123
4.9關機命令.125
4.9.1使用shutdown關機或重啟.125
4.9.2最簡單的關機命令halt125
4.9.3使用reboot重啟系統126
4.9.4使用poweroff終止系統運行126
4.9.5使用init命令改變系統運行級別126
4.10文本編輯器vi的使用127
4.10.1進入與退出vi.127
4.10.2移動游標.127
4.10.3輸入文本.128
4.10.4複製與貼上.128
4.10.5刪除與修改.129
4.10.6查找與替換.129
4.10.7執行Shell命令.130
4.10.8保存文檔.130
4.11範例——用腳本備份重要檔案和目錄130
4.12小結133
4.13習題134
第5章Linux檔案管理與磁碟管理135
5.1認識Linux分區135
5.2Linux中的檔案管理136
5.2.1檔案的類型.136
5.2.2檔案的屬性與許可權.138
5.2.3改變檔案所有權139
5.2.4改變檔案許可權140
5.3Linux中的磁碟管理142
5.3.1查看磁碟空間占用情況.142
5.3.2查看檔案或目錄所占用的空間.143
5.3.3調整和查看檔案系統參數144
5.3.4格式化檔案系統144
5.3.5掛載/卸載檔案系統146
5.3.6基本磁碟管理147
5.4交換空間管理151
5.5磁碟冗餘陣列RAID152
5.6範例——監控硬碟空間.152
5.7小結153
5.8習題154
第6章Linux日誌系統.155
6.1Linux中常見的日誌檔案.155
6.2Linux日誌系統.159
6.2.1rsyslog日誌系統簡介.159
6.2.2rsyslog配置檔案及語法159
6.3使用日誌輪轉161
6.3.1logrotate命令及配置檔案參數說明.162
6.3.2利用logrotate輪轉Nginx日誌.163
6.4範例——利用系統日誌定位問題.165
6.4.1查看系統登錄日誌.165
6.4.2查看歷史命令165
6.4.3查看系統日誌165
6.5小結166
6.6習題166
第7章用戶和組167
7.1Linux的用戶管理167
7.1.1Linux用戶登錄過程167
7.1.2Linux的用戶類型168
7.2Linux用戶管理機制169
7.2.1用戶賬號檔案/etc/passwd.169
7.2.2用戶密碼檔案/etc/shadow170
7.2.3用戶組檔案/etc/group.171
7.3Linux用戶管理命令171
7.3.1添加用戶.172
7.3.2更改用戶.173
7.3.3刪除用戶.174
7.3.4更改或設定用戶密碼.175
7.3.5su切換用戶175
7.3.6sudo普通用戶獲取超級許可權.177
7.4用戶組管理命令178
7.4.1添加用戶組.178
7.4.2刪除用戶組.179
7.4.3修改用戶組.179
7.4.4查看用戶所在的用戶組.180
7.5範例——批量添加用戶並設定密碼.180
7.6小結182
7.7習題182
第8章應用程式的管理.184
8.1軟體包管理基礎184
8.1.1RPM.185
8.1.2DPKG.185
8.2RPM的使用185
8.2.1安裝軟體包.185
8.2.2升級軟體包.188
8.2.3查看已安裝的軟體包.188
8.2.4卸載軟體包.189
8.2.5查看一個檔案屬於哪個RPM包189
8.2.6獲取RPM包的說明信息.190
8.3從原始碼安裝軟體190
8.3.1軟體配置.191
8.3.2編譯軟體.191
8.3.3軟體安裝.191
8.4普通用戶如何安裝常用軟體195
8.5Linux函式館.196
8.6範例——從源碼安裝Web服務軟體Nginx.197
8.7小結203
8.8習題204
第9章系統啟動控制與進程管理.205
9.1啟動管理.205
9.1.1GRUB管理器概述205
9.1.2Linu系統的啟動過程206
9.1.3Linux運行級別.207
9.1.4Linux初始化配置腳本/etc/inittab的解析.208
9.1.5Linux啟動服務的控制.210
9.2Linux進程管理.212
9.2.1進程的概念.213
9.2.2進程管理工具與常用命令213
9.3系統管理員常見操作.220
9.3.1更改Linux的默認運行級別.220
9.3.2更改sshd默認連線埠22.220
9.3.3查看某一個用戶的所有進程221
9.3.4確定占用記憶體比較高的程式221
9.3.5終止進程.222
9.3.6終止屬於某一個用戶的所有進程.222
9.3.7根據連線埠號查找對應進程222
9.4範例——進程監控223
9.5小結225
9.6習題225
第10章Linux網路管理.226
10.1網路管理協定226
10.1.1TCP/IP協定簡介226
10.1.2UDP與ICMP協定簡介228
10.2網路管理命令229
10.2.1檢查網路是否通暢或網路連線速度ping229
10.2.2配置網路或顯示當前網路接口狀態ifconfig.231
10.2.3顯示添加或修改路由表route233
10.2.4複製檔案至其他系統scp234
10.2.5複製檔案至其他系統rsync.235
10.2.6顯示網路連線、路由表或接口狀態netstat237
10.2.7探測至目的地址的路由信息traceroute.239
10.2.8測試、登錄或控制遠程主機telnet241
10.2.9下載網路檔案wget.241
10.3Linux網路配置.243
10.3.1Linux網路相關配置檔案.243
10.3.2配置Linux系統的IP位址.243
10.3.3設定主機名.245
10.3.4設定默認網關245
10.3.5設定DNS伺服器245
10.4動態主機配置協定DHCP.246
10.4.1DHCP的工作原理246
10.4.2配置DHCP伺服器.247
10.4.3配置DHCP客戶端.248
10.5Linux域名服務DNS.249
10.5.1DNS簡介250
10.5.2DNS伺服器配置.250
10.5.3DNS服務測試253
10.6配置精確時間協定254
10.6.1精確時間協定254
10.6.2使用精確時間協定.255
10.6.3使用PTP客戶端.258
10.6.4同步時鐘.259
10.6.5驗證時間同步260
10.7範例——監控網卡流量.261
10.8小結263
10.9習題263
第11章網路檔案共享NFS、Samba和FTP265
11.1網路檔案系統NFS265
11.1.1網路檔案系統NFS簡介.265
11.1.2配置NFS伺服器.266
11.1.3配置NFS客戶端270
11.2檔案伺服器Samba.270
11.2.1Samba服務簡介270
11.2.2Samba服務的安裝與配置271
11.3FTP伺服器.274
11.3.1FTP服務概述274
11.3.2vsftp的安裝與配置.275
11.3.3proftpd的安裝與配置281
11.3.4如何設定FTP才能實現檔案上傳284
11.4小結285
11.5習題285
第12章搭建MySQL服務286
12.1MySQL簡介.286
12.2MySQL服務的安裝與配置287
12.2.1MySQL的版本選擇287
12.2.2MySQL的版本命名機制.287
12.2.3MySQLrpm包安裝288
12.2.4MySQL源碼安裝289
12.2.5MySQL程式介紹290
12.2.6MySQL配置檔案介紹.291
12.2.7MySQL的啟動與停止.293
12.3MySQL基本管理299
12.3.1使用本地socket方式登錄MySQL伺服器299
12.3.2使用TCP方式登錄MySQL伺服器300
12.3.3MySQL存儲引擎302
12.4MySQL日常維護305
12.4.1MySQL許可權管理305
12.4.2MySQL日誌管理309
12.4.3MySQL備份與恢復315
12.4.4MySQL複製.322
12.4.5MySQL複製搭建過程.324
12.5小結329
12.6習題329
第13章安裝和配置Oracle資料庫管理系統.330
13.1Oracle資料庫管理系統簡介.330
13.1.1Oracle的版本命名機制.330
13.1.2Oracle的版本選擇332
13.2Oracle資料庫體系結構.333
13.2.1認識Oracle資料庫管理系統.333
13.2.2物理存儲結構334
13.2.3邏輯存儲結構334
13.2.4資料庫實例.335
13.3安裝Oracle資料庫伺服器335
13.3.1檢查軟硬體環境336
13.3.2下載Oracle安裝包.337
13.3.3創建Oracle用戶組和用戶337
13.3.4修改核心參數338
13.3.5修改用戶限制339
13.3.6修改用戶配置檔案.340
13.3.7準備安裝目錄340
13.3.8安裝軟體.341
13.4創建資料庫.349
13.4.1用DBCA創建資料庫349
13.4.2手工創建資料庫350
13.4.3打開資料庫.352
13.4.4關閉資料庫.353
13.5小結353
13.6習題353
第14章Apache服務和LAMP354
14.1ApacheHTTP服務的安裝與配置.354
14.1.1HTTP協定簡介354
14.1.2Apache服務的安裝、配置與啟動.356
14.1.3Apache基於IP的虛擬主機配置.365
14.1.4Apache基於連線埠的虛擬主機配置.369
14.1.5Apache基於域名的虛擬主機配置.371
14.1.6Apache安全控制與認證.374
14.2LAMP集成的安裝、配置與測試實戰380
14.3習題384
第15章Linux路由386
15.1認識Linux路由386
15.1.1路由的基本概念386
15.1.2路由的原理.387
15.1.3路由表387
15.1.4靜態路由和動態路由.388
15.2配置Linux靜態路由.388
15.2.1配置網路接口地址.389
15.2.2測試網卡接口IP配置狀況392
15.2.3route命令介紹393
15.2.4普通客戶機的路由設定.394
15.2.5Linux路由器配置實例.394
15.3Linux的策略路由396
15.3.1策略路由的概念396
15.3.2路由表的管理397
15.3.3路由管理.398
15.3.4路由策略管理399
15.3.5策略路由套用實例.401
15.4小結403
15.5習題403
第16章配置NAT上網.404
16.1認識NAT404
16.1.1NAT的類型404
16.1.2NAT的功能405
16.2Linux下的NAT服務配置.406
16.2.1iptables簡介.406
16.2.2iptables工作流程408
16.2.3iptables基本語法409
16.2.4在RHEL上配置NAT服務.412
16.2.5區域網路通過配置NAT上網414
16.3小結415
16.4習題415
第17章Linux性能檢測與最佳化416
17.1Linux性能評估與分析工具.416
17.1.1CPU相關417
17.1.2記憶體相關.418
17.1.3硬碟I/O相關420
17.1.4網路性能評估421
17.2Linux核心編譯與最佳化.422
17.2.1編譯並安裝核心422
17.2.2常用核心參數的最佳化.423
17.3小結425
17.4習題425
第18章集群負載均衡LVS.427
18.1集群技術簡介427
18.2LVS集群介紹428
18.2.13種負載均衡技術.429
18.2.2負載均衡調度算法.431
18.3LVS集群的體系結構.432
18.4LVS負載均衡配置實例.433
18.4.1基於NAT模式的LVS的安裝與配置433
18.4.2基於DR模式的LVS的安裝與配置437
18.4.3基於IP隧道模式的LVS的安裝與配置.440
18.5小結442
18.6習題442
第19章集群技術與雙機熱備軟體.444
19.1高可用性集群技術444
19.1.1可用性和集群444
19.1.2集群的分類.445
19.2雙機熱備開源軟體Heartbeat445
19.2.1認識Heartbeat.446
19.2.2Heartbeat的安裝與配置.446
19.2.3Heartbeat的啟動與測試.450
19.3雙機熱備軟體keepalived452
19.3.1認識keepalived452
19.3.2keepalived的安裝與配置452
19.3.3keepalived的啟動與測試454
19.4小結456
19.5習題457
第20章Linux防火牆管理.458
20.1Linux防火牆iptables.458
20.1.1Linux核心防火牆的工作原理458
20.1.2Linux軟體防火牆iptables.461
20.1.3iptables配置實例464
20.2Linux高級網路配置工具.467
20.2.1高級網路管理工具iproute2.467
20.2.2網路數據採集與分析工具tcpdump.469
20.3範例——利用iptables阻止外網異常請求.472
20.4小結474
20.5習題474
第21章KVM虛擬化.475
21.1KVM虛擬化技術概述.475
21.1.1基本概念.475
21.1.2硬體要求.476
21.2安裝虛擬化軟體包477
21.2.1通過yum命令安裝虛擬化軟體包477
21.2.2以軟體包組的方式安裝虛擬化軟體包477
21.3安裝虛擬機.479
21.3.1安裝Linux虛擬機.479
21.3.2安裝Windows虛擬機.481
21.4管理虛擬機.483
21.4.1虛擬機管理器簡介.483
21.4.2查詢或者修改虛擬機硬體配置.485
21.4.3管理虛擬網路487
21.4.4管理遠程虛擬機490
21.4.5使用命令行執行高級管理491
21.5存儲管理.494
21.5.1創建基於磁碟的存儲池.495
21.5.2創建基於磁碟分區的存儲池495
21.5.3創建基於目錄的存儲池.496
21.5.4創建基於LVM的存儲池.497
21.5.5創建基於NFS的存儲池498
21.6KVM安全管理498
21.6.1SELinux499
21.6.2防火牆499
21.7小結500
21.8習題500
第22章在RHEL6.5上安裝OpenStack501
22.1OpenStack概況.501
22.2OpenStack系統架構502
22.2.1OpenStack體系架構502
22.2.2OpenStack部署方式503
22.2.3計算模組Nova505
22.2.4分散式對象存儲模組Swift505
22.2.5虛擬機鏡像管理模組Glance.506
22.2.6身份認證模組Keystone506
22.2.7控制台Horizon.507
22.3Openstack的主要部署工具508
22.3.1Fuel508
22.3.2TripleO508
22.3.3RDO.509
22.3.4DevStack509
22.4通過RDO部署OpenStack509
22.4.1部署前的準備509
22.4.2配置安裝源.509
22.4.3安裝Packstack.510
22.4.4安裝OpenStack.510
22.5管理OpenStack.514
22.5.1登錄控制台.514
22.5.2用戶設定.516
22.5.3管理用戶.517
22.5.4管理鏡像.518
22.5.5管理雲主機類型520
22.5.6管理網路.522
22.5.7管理實例.529
22.6小結536
22.7習題536