第1章 红帽旋风 1
1.1 GNU/Linux是Linux的全称 2
1.2 Linux传奇 2
1.3红帽旋风 5
1.4庞大的红帽发行版家族 7
1.4.1 RHEL和Fedora Core项目 7
1.4.2 RHEL和CentOS 8
1.4.3 RHEL与Scientific Linux 8
1.4.4 RHEL与Oracle EnterpriseLinux 9
1.5 Linux学习方法 9
1.6红帽认证 10
第2章 安装RHEL 14
2.1安装前的预备知识 15
2.1.1 Linux磁盘分区 15
2.1.2逻辑卷管理器 16
2.1.3磁盘阵列 17
2.2安装RHEL 5 17
2.2.1安装程序的获取 17
2.2.2本地安装RHEL5 18
2.2.3首次启动时的设置 22
2.3 RHEL 5的升级和删除 24
2.3.1升级RHEL 5 24
2.3.2删除RHEL 5 25
2.4 RHEL 6与RHEL 5的差异 27
2.4.1安装模式选择界面的差异 27
2.4.2安装过程中的差异 28
2.4.3软件包管理工具的差异 28
2.4.4救援模式的差异 28
2.5 RHEL配置精要 29
2.5.1配置网络 29
2.5.2配置本地DVD软件源 32
2.5.3 RHEL 5和RHEL6使用习惯差异 33
2.6 RHCE认证指南 34
第3章 Linux基础 36
3.1 Linux启动过程 37
3.1.1 GRUB引导程序 37
3.1.2 init程序 40
3.1.3运行级别 42
3.2 Linux系统常用命令 43
3.2.1 Linux控制台 43
3.2.2登录和注销 43
3.2.3 Linux基本命令 44
3.3 Linux的Shell 53
3.3.1进入Shell 53
3.3.2 Shell变量 54
3.3.3 Shell语法 56
3.4 Linux的文件和目录 59
3.4.1 Linux文件 59
3.4.2 Linux目录 60
3.5使用vi 61
3.5.1启动vi 61
3.5.2使用vi编辑第一个文本 61
3.5.3使用vi打开文件 62
3.5.4保存文件 63
3.5.5撤销和恢复操作 63
3.5.6搜索字符串 63
3.5.7替换字符串 64
3.5.8删除 64
3.5.9复制、粘贴和剪切 65
3.5.10行定位 65
3.5.11重复操作 65
3.5.12 vi环境设定 66
3.6 RHEL 6与RHEL 5的差异 66
3.6.1 init配置文件/etc/inittab的差异 66
3.6.2控制台差异 67
3.6.3 gpm服务 67
3.7 RHCE认证指南 67
第4章 Linux高频命令 68
4.1系统和服务相关命令 69
4.1.1 uname打印系统信息 69
4.1.2 arch显示系统硬件架构 69
4.1.3 halt关闭系统 69
4.1.4 reboot重新启动系统 70
4.1.5 shutdown关闭/重启系统 70
4.1.6 chkconfig设置服务的启动和关闭 71
4.1.7 service管理系统服务 72
4.1.8 export设置并导出变量 72
4.2用户相关命令 73
4.2.1 su切换用户身份 73
4.2.2 last查看用户成功登录信息 73
4.2.3 lastb查看用户不成功的登录信息 74
4.2.4 who查看已登录的用户 74
4.2.5 w查看登录用户的活动 75
4.3磁盘管理命令 75
4.3.1 mkfs创建文件系统 75
4.3.2 mount挂载文件系统 76
4.3.3 umount卸载文件系统 77
4.3.4 df显示磁盘使用情况 78
4.3.5 e2label查看或更改分区卷标 78
4.3.6 dumpe2fs显示文件系统信息 78
4.4文件管理命令 80
4.4.1 chgrp改变文件所属组 80
4.4.2 chown改变文件所有者和所属组 80
4.4.3 chattr改变文件的文件系统属性 81
4.4.4 lsattr查看文件的文件系统属性 81
4.4.5 ln创建文件链接 82
4.4.6 du查看文件占用空间 82
4.4.7 file显示文件类型 83
4.5搜索命令 83
4.5.1 find查找目录下的文件 83
4.5.2 locate定位文件位置 85
4.6压缩备份命令 85
4.6.1 tar归档工具 85
4.6.2 gzip压缩工具 86
4.6.3 bzip2压缩工具 87
4.7文本处理相关命令 87
4.7.1 grep显示文件中的匹配行 87
4.7.2 diff比较两个文件之间的差异 88
4.7.3 sort排序文件内容 88
4.7.4 comm比较两个已排序的文件 89
4.7.5 head显示文件起始部分 89
4.7.6 tail显示文件结尾部分 89
4.7.7 we统计文件内容信息 90
4.8 RHEL 6与RHEL5的差异 90
4.9 RHCE认证指南 90
第5章 系统管理 91
5.1账户管理 93
5.1.1 Linux用户和组 93
5.1.2管理Linux组 94
5.1.3管理Linux用户 95
5.2进程管理 96
5.2.1什么是进程 96
5.2.2显示当前进程 97
5.2.3运行进程 98
5.2.4调整进程优先级 102
5.2.5终止进程 103
5.3磁盘管理 104
5.3.1磁盘分区 104
5.3.2逻辑卷管理器 106
5.3.3磁盘阵列 114
5.3.4磁盘限额 118
5.4文件系统管理 121
5.4.1创建文件系统 122
5.4.2挂载文件系统 122
5.4.3卸载文件系统 123
5.4.4配置文件/etc/fstab 124
5.4.5交换分区和交换文件 125
5.4.6检查文件系统 127
5.5文件权限管理 128
5.5.1基本权限 128
5.5.2设定基本权限 129
5.5.3特殊权限 131
5.5.4设定特殊权限 132
5.5.5用户掩码设定 133
5.6打印机管理 134
5.6.1使用system-config-printer 134
5.6.2使用网页配置程序 136
5.7日志管理 136
5.7.1系统日志 136
5.7.2应用程序日志 138
5.7.3查看日志 139
5.7.4日志滚动 141
5.8 RHEL 6与RHEL 5的差异 143
5.8.1 /etc/fstab配置文件差异 143
5.8.2打印机管理差异 144
5.8.3系统日志进程的差异 145
5.9 RHCE认证指南 146
第6章 RPM软件包管理 147
6.1 Linux下的软件安装 148
6.2认识RPM 148
6.3使用rpm命令 148
6.3.1安装软件包 148
6.3.2升级软件包 149
6.3.3查询软件包 149
6.3.4卸载软件包 150
6.3.5检验软件包 150
6.4解压RPM软件包 151
6.5使用源代码RPM包 152
6.5.1源代码RPM包文件构成 152
6.5.2源代码相关目录 152
6.5.3 SPEC文件简介 153
6.5.4使用rpmbuild命令 153
6.6使用YUM客户端 156
6.6.1认识YUM 156
6.6.2 YUM客户端配置文件 156
6.6.3使用yum命令 158
6.6.4 YUM图形化管理工具 160
6.7 RHEL 6与RHEL 5的差异 161
6.8 RHCE认证指南 161
第7章 深入RHEL图形服务器 163
7.1 X-Window系统介绍 165
7.2配置X-Window 165
7.2.1使用system-config-display命令 165
7.2.2配置文件/etc/X 11 /xorg.conf 166
7.3启动X-Window 169
7.3.1 X-Window启动流程 169
7.3.2开机自启动X-Window 170
7.3.3使用startx命令 170
7.3.4手动启动X-Window 171
7.4 GNOME和KDE 173
7.4.1 GDM和KDM显示管理器 173
7.4.2 GNOME窗口管理器 173
7.4.3 KDE窗口管理器 174
7.5运行远程X客户端程序 174
7.6 RHEL 6与RHEL 5的差异 175
7.6.1配置文件和工具差异 175
7.6.2图形登录界面差异 176
7.6.3窗口管理器差异 176
7.7 RHCE认证指南 178
第8章 TCP/IP网络管理 179
8.1 TCP/IP基础 181
8.1.1 IP地址 181
8.1.2子网掩码和网络号 182
8.1.3广播地址 183
8.1.4路由和网关 183
8.1.5 TCP/IP协议 183
8.1.6端口 184
8.2配置TCP/IP网络 185
8.2.1重要的网络配置文件 185
8.2.2网络配置程序 188
8.3 TCP/IP查错工具 190
8.3.1 ping 190
8.3.2 traceroute 191
8.3.3 tcpdump 192
8.4使用OpenSSH管理远程主机 193
8.4.1设定OpenSSH服务器 194
8.4.2使用SSH客户端 196
8.5使用Rea1VNC管理远程主机 198
8.5.1设定Rea1VNC服务器 198
8.5.2使用Rea1VNC客户端 198
8.6 RHEL 6与RHEL 5的差异 200
8.6.1网络配置差异 200
8.6.2 VNC软件差异 201
8.7 RHCE认证指南 202
第9章 局域网应用组合——DHCP和NAT 203
9.1 DHCP和NAT介绍 204
9.2 DHCP服务设定 204
9.2.1 DHCP服务的安装 204
9.2.2 DHCP配置文件dhcpd.conf 204
9.2.3 DHCP服务架设实例 206
9.2.4 DHCP客户端设定 206
9.3 NAT服务设定 207
9.3.1 NAT服务的安装 207
9.3.2设定NAT服务 207
9.3.3 NAT客户端设定 210
9.4 RHEL 6与RHEL 5的差异 210
9.4.1 DHCP服务的差异 210
9.4.2 NAT服务的差异 210
9.5 RHCE认证指南 212
第10章 Web服务与高效能LAMP架构 213
10.1 HTTP协议和Web服务 214
10.2 Web服务器 214
10.2.1认识Web服务器 214
10.2.2 Apache服务器 215
10.3安装配置Apache服务器 215
10.3.1安装Apache和相关软件包 215
10.3.2 Apache配置文件httpd.conf 216
10.3.3目录的访问控制 223
10.4 Apacbe安全管理 224
10.5 Apache故障排除 225
10.6 Apache图形配置工具system-config-httpd 226
10.7 Apache应用实例 226
10.7.1 LAMP应用 226
10.7.2架设YUM服务器 229
10.7.3架设Subversion服务器 230
10.8构建高效能LAMP架构 231
10.8.1安装注意事项 231
10.8.2准备源码包 232
10.8.3编译环境和编译方法 233
10.8.4 LAMP环境编译和安装 234
10.9 RHEL 6与RHEL 5的差异 247
10.10 RHCE认证指南 248
第11章 FTP服务 249
11.1 FTP服务 250
11.2 FTP客户端 250
11.3 VSFTPD服务器 251
11.3.1 VSFTPD的安装 251
11.3.2 VSFTPD的配置文件vsftpd.conf 252
11.3.3匿名VSFTPD的搭建 255
11.3.4仅允许系统用户访问的服务器设定 255
11.3.5 VSFTPD虚拟用户 256
11.3.6配置具有SSL的VSFTPD 259
11.4 RHEL 6与RHEL 5的差异 262
11.5 RHCE认证指南 262
第12章 网络文件系统——NFS 263
12.1认识NFS服务 264
12.2 NFS服务器安装配置 265
12.2.1 NFS服务器安装 265
12.2.2配置NFS服务器 265
12.2.3启动NFS服务 266
12.2.4固定NFS服务相关端口 267
12.2.5 Iptables的NFS相关设定 268
12.2.6 NFS图形配置工具system-config-nfs 268
12.3 NFS客户机的使用 269
12.3.1访问NFS共享资源 269
12.3.2自动挂载NFS共享目录 270
12.4 RHEL 6与RHEL 5的差异 272
12.5 RHCE认证指南 272
第13章 分布式文件系统——Samba服务 274
13.1 Samba服务 275
13.1.1 Samba的作用 275
13.1.2 Samba相关协议 275
13.1.3 Samba的守护进程 275
13.2 Samba的安装 276
13.3 Samba的配置 276
13.3.1 Samba相关文件介绍 276
13.3.2 Samba主配置文件smb.conf 277
13.3.3 Samba作为独立服务器 282
13.3.4 Samba作为域成员服务器 283
13.3.5 Samba作为域控制器 285
13.3.6创建Samba用户账号 286
13.4 Samba查错 286
13.5 Samba图形配置工具system-config-samba 287
13.6 Samba客户端的使用 288
13.6.1客户端为Linux系统 288
13.6.2客户端为Windows系统 289
13.7 RHEL 6与RHEL5的差异 289
13.8 RHCE认证指南 289
第14章 DNS域名服务 290
14.1认识DNS服务 291
14.1.1什么是DNS 291
14.1.2完全合格域名 291
14.1.3 DNS查询流程 291
14.2架设DNS服务器的准备工作 293
14.3安装BIND套件 294
14.4配置BIND服务 295
14.4.1 BIND配置文件 295
14.4.2建立缓存服务器 298
14.4.3主/从架构DNS系统的架设 299
14.4.4 BIND图形配置工具system-config-bind 301
14.5 DNS测试命令 302
14.6 DNS客户端设定 303
14.7 RHEL 6与RHEL 5的差异 304
14.8 RHCE认证指南 305
第15章 邮件服务 306
15.1邮件服务介绍 307
15.1.1邮件服务的功能 307
15.1.2邮件服务相关协议 307
15.1.3邮件服务的组成单元 307
15.1.4常用邮件服务程序介绍 308
15.2 Sendmail的安装与设定 308
15.2.1 Sendmail的安装 308
15.2.2 Sendmail的配置文件 308
15.3 Postfix的安装与设定 314
15.3.1 Postfix的安装 314
15.3.2 Postfix的配置文件 314
15.4 Dovecot的安装与设定 319
15.4.1 Dovecot的安装 319
15.4.2 Dovecot的配置文件 319
15.4.3 Dovecot的SSL认证 320
15.5邮件服务器架设实例 321
15.6 RHEL 6与RHEL 5的差异 325
15.7 RHCE认证指南 326
第16章 目录服务 328
16.1 NIS服务 330
16.2 NIS服务器 330
16.2.1 NIS服务端安装 330
16.2.2 NIS服务端配置文件 331
16.2.3 NIS服务器架设流程实例 333
16.3 NIS客户端 335
16.3.1 NIS客户端安装 335
16.3.2 NIS客户端配置文件 335
16.3.3 NIS客户端架设流程实例 337
16.3.4检验NIS客户端 337
16.3.5使用NIS客户端修改账户 340
16.4 NIS应用实例 341
16.5 LDAP服务 342
16.6 OpenLDAP服务器 343
16.6.1 OpenLDAP服务端安装 343
16.6.2 OpenLDAP配置文件 343
16.6.3 OpenLDAP服务器架设流程实例 345
16.7 OpenLDAP客户端 346
16.7.1 OpenLDAP客户端安装 346
16.7.2 OpenLDAP客户端配置文件 346
16.7.3 OpenLDAP客户端架设流程实例 348
16.7.4 OpenLDAP常用命令 348
16.8 OpenLDAP应用实例 353
16.9 RHEL 6与RHEL 5的差异 355
16.9.1 NIS服务端设定差异 355
16.9.2 NIS客户端设定差异 355
16.9.3 OpenLDAP服务端设定差异 355
16.9.4 OpenLDAP客户端设定差异 356
16.10 RHCE认证指南 356
第17章 Squid代理服务器 357
17.1代理服务器介绍 358
17.1.1什么是代理服务器 358
17.1.2代理服务器运作方式 358
17.1.3代理服务器的种类 359
17.2 Squid代理服务器 359
17.2.1 Squid的安装 360
17.2.2 Squid配置文件squid.conf 360
17.2.3匿名Squid服务器设定 363
17.2.4需要身份验证的Squid服务器设定 364
17.2.5局域网中Squid作透明代理的设定 365
17.2.6 Squid作反向代理的设定 367
17.3正向代理服务器的客户端设定 368
17.4 RHEL 6与RHEL5的差异 369
17.5 RHCE认证指南 369
第18章 使用Webmin管理RHEL 5 370
18.1 Webmin介绍 371
18.2安装和配置Webmin 371
18.2.1安装Webmin 371
18.2.2配置Webmin 371
18.3使用Webmin管理系统 376
18.4使用Webmin管理网络服务 379
18.4.1 Apache 379
18.4.2 VSFTPD 380
18.4.3 NFS 380
18.4.4 Samba 381
18.4.5 BIND 382
18.4.6 Sendmail与Dovecot 383
18.4.7 NIS 384
18.4.8 Squid 385
18.5使用Webmin加强系统安全 385
18.5.1 TCP_Wrapper 385
18.5.2 PAM 386
18.5.3 Iptables 386
第19章 全面加强RHEL安全 388
19.1 IP安全保障——TCP_Wrapper 390
19.2系统和服务安全保障——PAM 391
19.2.1 PAM的语法及参数 391
19.2.2 PAM应用实例 394
19.3使用防火墙Iptables 396
19.3.1 Linux内核防火墙——Netfilter/Iptalbes 396
19.3.2配置 Iptalbes防火墙 397
19.3.3防火墙配置策略 401
19.3.4简单防火墙配置实例 404
19.4 SELinux实现全方位防护 406
19.4.1 SELinux简介 406
19.4.2启用SELinux 406
19.4.3查看SELinux状态 407
19.4.4查看和修改SELinux对网络服务的设定 408
19.5 RHEL 6与RHEL 5的差异 410
19.6 RHCE认证指南 410
第20章 RHEL的网络及无人值守安装 412
20.1使用网络方式安装RHEL 5 413
20.1.1 Apache安装服务器 413
20.1.2 VSFTPD安装服务器 414
20.1.3 NFS安装服务器 414
20.2 KickStart自动应答脚本 415
20.2.1创建KickStart脚本 415
20.2.2保存KickStart文件 418
20.2.3使用KickStart脚本进行客户端安装 418
20.3 PXE安装服务器 418
20.3.1 PXE安装运作流程 418
20.3.2 PXE服务器架设流程 419
20.3.3 PXE客户端设定 422
20.4 RHEL 6与RHEL 5的差异 422
20.4.1网络安装方面的差异 422
20.4.2 KickStart安装方面的差异 423
20.4.3 PXE安装方面的差异 425
第21章 RHEL系统监测和优化策略 426
21.1系统维护介绍 428
21.2硬件系统的监测对象 428
21.3系统监测工具 429
21.3.1监测CPU 429
21.3.2监测内存 432
21.3.3监测磁盘 433
21.3.4监测网络 435
21.4使用Cacti监测系统 437
21.4.1 Cacti介绍 437
21.4.2安装Cacti 437
21.4.3设定Cacti 439
21.4.4使用Cacti 440
21.5使用Nagios监控告警系统 442
21.5.1 Nagios介绍 442
21.5.2安装和设定Nagios服务端 443
21.5.3安装和设定NRPE客户端 449
21.5.4设定Nagios报警 450
21.5.5 编写Nagios插件 453
21.6系统优化策略 455
21.6.1 CPU优化策略 455
21.6.2内存优化策略 455
21.6.3磁盘优化策略 455
21.6.4网络优化策略 455
21.7 RHEL 6与RHEL 5的差异 456
21.7.1 Cacti安装方面的差异 456
21.7.2 Nagios安装与设定方面的差异 456
第22章 Linux核心编译与KVM虚拟化 460
22.1 Linux核心介绍 462
22.1.1 Linux核心是什么 462
22.1.2内核的版本号 462
22.1.3为什么需要编译核心 462
22.1.4获取核心源代码 463
22.2 Linux核心编译 463
22.2.1核心编译步骤 463
22.2.2 Linux核心配置项 464
22.2.3单独编译某个核心模块 479
22.3 KVM虚拟化介绍 479
22.3.1虚拟化技术 479
22.3.2 KVM虚拟化 480
22.4使用KVM虚拟系统 480
22.4.1安装KVM虚拟系统 480
22.4.2使用KVM虚拟机 481
22.4.3设定桥接网络 484
22.5 RHEL 6与RHEL 5的差异 485
第23章 Linux服务器集群与高可用系统LVS 487
23.1认识LVS 489
23.1.1 LVS诞生背景 489
23.1.2服务器集群系统 489
23.1.3 LVS系统介绍 490
23.2组建基本的LVS系统 492
23.2.1 Ipvsadm的安装和使用 492
23.2.2调度服务器设定流程 493
23.2.3应用服务器设定流程 494
23.2.4测试LVS系统 495
23.3 LVS系统进阶 495
23.3.1使用Ldirectord配置调度服务器 495
23.3.2使用Piranha配置调度服务器 498
23.4认识Heartbeat 501
23.4.1 Heartbeat背景知识 501
23.4.2 Heartbeat集群系统相关术语 501
23.4.3 Heartbeat系统结构 502
23.5组建Heartbeat高可用系统 503
23.5.1安装Heartbeat 503
23.5.2 Heartbeat的配置文件 504
23.5.3 Heartbeat集群架设实例 506
23.5.4使用图形化工具设定Heartbeat集群 508
23.6 RHEL 6与RHEL 5的差异 511
23.6.1 LVS调度服务器的安装与设定差异 511
23.6.2 Heartbeat的安装与设定差异 511
第24章 Linux集群文件系统 514
24.1集群文件系统介绍 515
24.1.1本地文件系统与集群文件系统 515
24.1.2开源集群文件系统 515
24.1.3集群文件系统的应用环境与优势 516
24.2 OCFS2集群文件系统 516
24.2.1安装OCFS2文件系统 516
24.2.2配置OCFS2文件系统 517
24.3安装Oracle 10g RAC 520
24.3.1 OCFS2文件系统安装 520
24.3.2安装Oracle 10g RACCRS 521
24.3.3安装Oracle 10g 529
24.3.4创建Oracle数据库 531
24.4 RHEL 6与RHEL 5的差异 535
附录A RHEL企业级网络应用方案对照表 537
附录B RHEL程序员常用软件对照表 538