第1部分 入门 1
第1章 Linux故障排除介绍 2
1.1 Fedora Linux概述 2
1.1.1 用Fedora学习Linux故障排除 3
1.1.2 利用Fedora寻找机会 4
1.2 使用Fedora 7
1.2.1 选择一种 Fedora版本 7
1.2.2 获得Fedora 8
1.2.3 与Fedora Project联系 8
1.2.4 获得Fedora文档编制 8
1.2.5 通过Fedora的邮件列肇联系 10
1.2.7 获得更多软件 11
1.2.6 通过Fedora的IRC联系 11
1.3 Fedora回溯 12
1.3.1 查找故障和填写报告 12
1.3.2 加入Fedora项目 13
1.4 向Fedora Core 2转移 14
1.5 小结 15
第2章 安装故障排除 16
2.1 理解安装 16
2.2 选择硬件 19
2.2.1 随机存取存储器(RAM) 19
2.2.2 安装介质(CD-ROM) 20
2.2.3 视频卡 21
2.2.4 笔记本电脑的有关问题 22
2.3.1 启动安装进程失败 23
2.3 解决安装中的问题 23
2.2.5 如果所有尝试均失败应该采取的措施 23
2.3.2 从引导提示符开始 25
2.3.3 分区问题 28
2.4 常见安装故障排除提示 29
2.5 安装之后引导Linux 30
2.5.1 在安装后添加内核选项 30
2.5.2 进入救援模式 31
2.6 排除安装故障方面的参考 32
2.7 小结 32
第3章 更新和升级Fedora 33
3.1 及时更新Fedora Core 33
3.1.1 使用自动更新 34
3.1.2 手动更新 39
3.1.3 源代码更新 42
3.1.4 更新问题故障排除 43
3.2 升级FedoraCore 43
3.2.1 使用Fedora Core安装程序升级 43
3.2.2 使用yum升级 46
3.2.3 使用apt-rpm(apt-get)升级 47
3.3 升级问题故障排除 49
3.3.1 更新Ximian桌面 49
3.3.2 检测第三方更新 49
3.3.3 中断图形驱动程序 50
3.4 保持当前Red Hat Linux系统运行 50
3.4.1 Fedora Legacy 50
3.4.2 Progeny Linux Systems 51
3.5 小结 51
第2部分 预防问题 53
第4章 为桌面和服务器提供自动化安装和安全防护 54
4.1 kickstart概述 54
4.2 启动kickstart模板 55
4.2.1 详解ks.cfg文件 55
4.2.2 网络启用ks.cfg文件 58
4.2.3 使用Red Hat Kickstart配置工具 60
4.2.4 保存ks文件 61
4.3 锁定桌面和服务器 61
4.3.1 确定企业桌面需求 62
4.3.2 确定企业服务器需求 62
4.3.3 锁定模板安装 62
4.3.4 最后的%post脚本 68
4.4 创建kickstart自动配置服务器 69
4.5 集中化和标准化kickstart文件 70
4.6 创建kickstart自动配置引导介质 72
4.6.1 查找Red Hat引导映像 72
4.6.2 选择网络安装选项 74
4.6.3 创建定制的引导软盘 75
4.6.4 制作网络安装引导光盘 77
4.6.5 更多软盘和光盘定制信息 81
4.7 测试新的kickstart介质 81
4.7.1 软盘安装 81
4.7.2 光盘安装 82
4.8 常见kickstart问题故障排除 82
4.9 kickstart故障排除参考 84
4.10 小结 84
5.1 备份类型 86
第5章 为备份和移植做好准备 86
5.1.1 备份的类型 87
5.2 选择一种备份策略 89
5.2.1 基于等级的备份特点 89
5.2.2 TOH 90
5.2.3 备份介质类型和硬件 92
5.2.4 其他备份硬件提示 95
5.3 备份策略 97
5.3.1 备份对象 97
5.3.2 备份整个操作系统 98
5.3.3 其他重要的系统配置文件 99
5.3.4 备份数据库 99
5.3.6 关闭服务 101
5.3.5 设置磁带驱动器设备 101
5.4 备份工具及其用法 103
5.4.1 Tar或者Star 103
5.4.2 Dump和Restore 103
5.4.3 Amanda客户机或者服务器 104
5.4.4 其他有用的工具 105
5.5 备份示例 106
5.5.1 本地使用Tar 106
5.5.2 在运行级4下编写Tar脚本 106
5.5.3 远程使用Tar 108
5.5.4 使用Dump 109
5.5.5 远程使用Dump 113
5.6 测试和恢复 113
5.6.1 从Tar恢复 113
5.6.2 从Dump恢复 114
5.6.3 恢复MySQL数据库 116
5.7 服务器移植 116
5.7.1 磁盘到磁盘 116
5.7.2 软件问题 117
5.7.3 Web/Apache Gotchas 118
5.7.4 安全性 118
5.8 备份相关资源 119
5.9 小结 119
第3部分 基本特性故障排除 121
第6章 工具故障排除 122
6.1 熟悉Shell 122
6.1.1 使用Shell技巧 122
6.2 获得根用户权限 132
6.2.1 从Shell获得根用户访问权限 133
6.2.2 从GUI获得根用户访问权限 134
6.3 检查系统进程 135
6.3.1 用Top 工具跟踪进程 135
6.3.2 用strace 工具跟踪失败命令 137
6.4 进入救援模式 138
6.5 探测和配置硬件 139
6.5.1 使用Kudzu探测硬件 139
6.5.2 配置硬件模块 140
6.6 使用网络故障排除工具 142
6.6.1 用ssh工具远程登录和执行 142
6.6.2 用Ethereal 工具监视局域网 143
6.6.3 用Screen工具保持会话的活动状态 144
6.6.4 网络故障排除基础知识 145
6.7 小结 146
第7章 X故障排除:视频、鼠标和键盘 147
7.1 X起步知识(视频、鼠标和键盘) 147
7.2 配置视频、鼠标和键盘 148
7.2.1 安装期间配置视频、鼠标和键盘 148
7.2.2 安装后配置视频卡 149
7.2.3 安装后配置键盘 150
7.2.4 安装后配置鼠标 151
7.3 深入X server和XF86Config文件 151
7.3.1 理解X server 151
7.3.2 理解XF86Config文件 152
7.4 设置和调整视频驱动程序 156
7.4.1 确定视频卡驱动程序 157
7.4.2 调整和测试视频卡 158
7.4.3 用xvidtune改善视频设置 160
7.5 视频故障排除提示 161
7.5.1 使DRI正常发挥作用的提示 162
7.5.2 特殊视频卡(芯片组)提示 163
7.5.3 修复视频崩溃问题的提示 164
7.6 鼠标故障排除提示 165
7.7 视频故障排除参考 165
7.8 小结 166
第8章 软件包故障排除 167
8.1 RPM概述 167
8.2 安装、升级和删除软件包 168
8.3 检查软件包 169
8.3.1 检查软件包签名 169
8.3.2 检查软件包的依赖关系 173
8.3.3 交叉检查软件包的内容 175
8.3.4 检查软件包的脚本 176
8.4 查询软件包 178
8.4.1 查询本地或者远程软件包 178
8.4.2 查询单独的软件包 178
8.4.3 查询多个软件包 180
8.5 校验软件包 181
8.6 修复遭到破坏的RPM数据库 182
8.7 软件包故障排除提示 182
8.8 软件包故障排除参考 183
8.9 小结 183
9.1.1 检查分区和文件系统 185
9.1 Linux文件系统故障排除 185
第9章 文件系统、磁盘和电源故障排除 185
9.1.2 分区和文件系统的故障排除 188
9.2 检查和调整硬盘 194
9.2.1 获取有关磁盘的信息 194
9.2.2 更改硬盘设置 196
9.2.3 固化 hdparm所做的更改 204
9.3 管理笔记本电脑的电源设置 204
9.3.1 用APM管理电源 205
9.3.2 用ACPI管理电源 206
9.3.3 用hdparm更改电源设置 207
9.4 磁盘、文件系统和电源故障排除参考 208
9.5 小结 208
第4部分 网络故障排除 209
10.1 入侵检测和回应概述 210
第10章 检测和回应入侵 210
10.2 入侵检测工具 211
10.2.1 RedHat软件包管理器 211
10.2.2 文件系统工具 212
10.2.3 监视系统 212
10.2.4 第三方工具 212
10.3 用RPM检验文件 214
10.3.1 使用RPM进行维护 214
10.3.2 使用RPM检查安全性 216
10.4 创建安全的基准 217
10.4.1 制作RPM基准 218
10.4.2 添加chkrootkit扫描 219
10.5 自动化系统扫描和通知 220
10.5.1 简单的扫描脚本 221
10.5.2 运行脚本 223
10.5.3 自动化脚本 224
10.6 入侵故障排除 225
10.6.1 经被攻击 225
10.6.2 安全受到威胁后应该怎么办 226
10.6.3 ISP威胁 227
10.6.4 经很安全的系统为什么还会被成功攻击 228
10.7 入侵检测资源 229
10.8 小结 230
第11章 防火墙故障排除 231
11.1 防火墙理论 232
11.1.1 端口和IP堆栈 232
11.1.2 端口分配 233
11.1.3 TCP/IP数据包结构 233
11.2.1 完全功能的防火墙或者可信的访问控制 235
11.2 防火墙在运转 235
11.3 Linux防火墙机制 237
11.3.1 TCP包装器 238
11.3.2 iptables 239
11.4 TCP包装器:安全防护本地服务 240
11.4.1 host access文件 242
11.4.2 TCP包装器故障排除提示 245
11.5 iptables和单机版服务器 246
11.5.1 iptables配置工具 246
11.5.2 配置单机版服务器 248
11.5.3 用iptables规则提交测试 252
11.6 iptables和网络防火墙 257
11.6.1 建立防火墙规则 259
11.6.2 应用安全设置 261
11.6.3 最终的配置 263
11.7 图形方式的防火墙工具 265
11.7.1 防火墙发行版本 265
11.7.2 防火墙工具 266
11.8 iptables故障排除 267
11.8.1 启用数据包转发特性 267
11.8.2 SSH访问被拒绝 268
11.8.3 与ipchains冲突 268
11.8.4 拒绝的访问仍然继续 269
11.9 防火墙资源 270
11.10 小结 272
12.1 DNS历史回顾和理论 273
12.1.1 DNS结构 273
第12章 BIND9和DNS故障排除 273
12.1.2 主/从DNS服务器 275
12.1.3 DNS高速缓存 275
12.2 配置主DNS服务器 276
12.2.1 BIND9目录结构 277
12.2.2 /etc/named.conf文件 278
12.2.3 localhost区域文件 281
12.2.4 域名服务工具 282
12.2.5 创建自己的区域文件 285
12.2.6 定义反向查询 286
12.2.7 设置提示 288
12.3 从BIND9 DNS服务器 288
12.3.1 配置从服务器 289
12.3.2 区域刷新设置 290
12.4.1 定名称服务器 291
12.4 BIND9的安全性 291
12.4.2 在chroot模式下运行BIND9 292
12.5 BIND9和 DNS故障排除 294
12.5.1 从名称服务器不自我更新 295
12.5.2 有效使用whois 296
12.5.3 不会加载新别名或者地址记录 296
12.5.4 自动化的DNS区域文件故障排除 297
12.5.5 故障排除工具 298
12.6 DNS和 BIND9资源 298
12.7 小结 299
第13章 调制解调器故障排除 300
13.1 选择调制解调器 300
13.1.1 使用PCI调制解调器 301
13.1.3 使用串口调制解调器 305
13.1.2 使用USB调制解调器 305
13.2 探测和尝试调制解调器 306
13.3 通过GUI设置调制解调器 307
13.4 用minicom设置调制解调器 308
13.4.1 启动minicom 309
13.4.2 显示和更改调制解调器设置 310
13.4.3 固化调制解调器的设置 312
13.5 调制解调器故障排除提示 312
13.6 查找调制解调器故障排除资源 313
13.7 小结 314
第5部分 内部服务故障排除 315
第14章 打印机故障排除 316
14.1 CUPS:常见的UNIX打印系统 316
14.2 获得合适的打印机 318
14.2.1 理解页面描述语言 319
14.2.2 查找打印驱动程序的细节信息 320
14.2.3 从何处获得选择打印机的帮助 321
14.3 在Fedora Core 下安装打印机 321
14.3.1 在安装过程中安装打印机 322
14.3.2 使用Red Hat的Printer Configuration(打印机配置)工具 322
14.3.3 使用CUPS Web配置工具添加打印机 325
14.4 在Fedora Core下共享打印机 328
14.5 安装之外的问题 329
14.5.1 排除基本的打印机安装故障 330
14.5.2 排除远程打印机访问故障 330
14.5.3 调整打印机设置 331
14.6.3 有人在扰乱打印机 333
14.6.2 打印机中断队列中的作业 333
14.6.1 打印客户端程序希望采用LPD而非CUPS 333
14.6 主要的故障排除提示 333
14.6.4 无人可以在本地局域网之外进行打印 334
14.7 无GUI打印机管理 334
14.7.1 用lpadmin添加打印机 336
14.8 打印机资源 336
14.9 小结 338
第15章 Samba故障排除 339
15.1 理解Samba 339
15.1.1 Samba用户 340
15.1.2 Samba共享 340
15.2 基本的Samba设置 341
15.2.1 Samba配置工具 341
15.2.2 命令行配置 342
15.2.3 SWAT 343
15.2.4 配置资源 346
15.3 使用Samba 346
15.3.1 谁连接了Samba 346
15.3.2 检查IP地址 347
15.3.3 检查可用的共享 347
15.4 Samba故障排除提示 348
15.4.1 防止局域网之外的人访问Samba 348
15.4.2 安全模式故障排除 349
15.4.3 共享[homes]目录故障排除 350
15.4.4 共享打印机故障排除 351
15.4.5 Samba 中的域名服务问题 351
15.4.6 无服务器访问 352
15.4.8 文件权限问题故障排除 354
15.4.7 性能问题 354
15.5 Samba资源 355
15.6 小结 356
第16章 NFS故障排除 357
16.1 配置NFS 357
16.1.1 NFS服务器 358
16.1.2 NFS客户端 360
16.1.3 NFS用户权限 362
16.2 NFS故障排除 363
16.2.1 导出失败 363
16.2.2 卸载失败 364
16.2.3 挂载失败 364
16.2.4 文件和目录权限 365
16.2.5 性能很低 366
16.2.6 意外的NFS行为 367
16.2.7 监视NFS行为 368
16.3 NFS故障排除参考 370
16.4 小结 370
第6部分 外部服务故障排除 371
第17章 Web服务器故障排除 372
17.1 Apache 2.0概述 372
17.1.1 UNIX线程 372
17.1.2 新build系统 372
17.1.6 IPv6支持 373
17.1.5 新的Apache API 373
17.1.7 过滤 373
17.1.3 多协议支持 373
17.1.4 对非UNIX平台提供更好的支持 373
17.1.8 多语言错误答复 374
17.1.9 简化的配置 374
17.1.10 Apache应用程序的单独配置文件 374
17.1.11 更新后的常规表达式库 374
17.2 Apache配置 374
17.2.1 配置文件 . 374
17.2.2 日志文件 375
17.2.3 其他文件 375
17.2.4 httpd.conf 376
17.3 Apache的常用用法 381
17.4 从Apache 1.x移植到Apache 2.0 383
17.5.2 控制用户访问 384
17.5 Apache 2.0提示和技巧 384
17.5.1 测试配置文件 384
17.5.3 重新启动Apache和重新加载Apache 386
17.5.4 罗列虚拟主机设置 386
17.5.5 罗列Apache编译时选项 387
17.5.6 定义Web目录权限 388
17.6 为了获得更高的负载量调整Apache设置 392
17.6.1 服务器加载和硬件需求 392
17.6.2 基准 393
17.6.3 使用server-status跟踪性能 395
17.7 Apache故障排除 396
17.8 Apache资源 397
17.9 小结 397
18.1 使用哪种文件传输方法 398
18.1.1 FTP 398
第18章 文件传输故障排除 398
18.1.2 scp和sftp 399
18.1.3 WebDAV 399
18.2 配置和使用FTP 400
18.2.1 限制对FTP的访问 402
18.2.2 配置环境变量 403
18.2.3 被动式FTP 404
18.3 配置以及使用scp和sftp 405
18.3.1 OpenSSH和Fedora Core 406
18.3.2 使用SCP 410
18.3.3 用户客户端程序 414
18.3.4 SSH和防火墙 415
18.4 配置和使用WebDAV 416
18.4.1 定义WebDAV共享 417
18.4.2 用SSH为 WebDAV提供安全防护 420
18.5 其他的文件传输解决方案 422
18.5.1 基于网络的tar备份 422
18.5.2 保持多个服务器同步 422
18.6 文件传输故障排除 424
18.7 文件传输资源 425
18.8 小结 426
第19章 电子邮件服务器故障排除 427
19.1 用选择系统在MTA之间转换 427
19.1.1 理解选择系统 428
19.1.2 使用选择系统 429
19.1.3 使用适用于选择系统的GUI配置工具 433
19.2 Sendmail配置 435
19.2.1 /etc/mail/virtusertable 436
19.2.2 /etc/aliases 438
19.3 Sendmail提示和技巧 439
19.3.1 重定向系统邮件 439
19.3.2 我的Sendmail设置 439
19.3.3 安全防护用户的.forward文件 440
19.3.4 查看发出邮件队列 440
19.3.5 更改Sendmail选项 440
19.4 诊断Sendmail问题 443
19.4.1 使用日志文件诊断问题 443
19.4.2 使用Telnet诊断MTA 问题 444
19.5 Sendmail故障排除 445
19.5.1 无法收到预期的电子邮件量 445
19.5.4 队列中的问题 446
19.5.3 电子邮件地址不可以投递 446
19.5.2 Sendmail不接收连接 446
19.5.5 POP3不运行 447
19.6 主要的Sendmail 问题(和解决方案) 448
19.6.1 列入黑名单中的IP地址 448
19.6.2 邮件服务器配置错误 450
19.6.3 因为动态的IP配置而退回邮件 450
19.7 PostFix概述 450
19.7.1 PostFix与Sendmail的比较 451
19.7.2 配置PostFix 452
19.8 Sendmail和 PostFix的资源 456
19.9 小结 457
附录A Fedora软件库 458
附录B SUSE Linux故障排除 460
附录C Debian GNU/Linux故障排除 477