第一章 Red Hat Linux/红旗Linux系统安装 1
1.1 安装前的准备工作 1
1.1.1 准备步骤1:备份数据 2
1.1.2 准备步骤2:收集硬件信息 2
1.1.3 准备步骤3:准备DOS启动盘 2
1.1.4 准备步骤4:准备红旗/Red Hat Linux的引导盘 3
1.1.5 准备步骤5:为Linux预留磁盘空间 3
1.2 安装红旗/Red Hat Linux 6
1.2.1 安装方式 6
1.2.2 选择安装方式 7
1.2.3 选择键盘类型 8
1.2.4 鼠标配置 9
1.2.5 选择安装类型 10
1.2.6 磁盘分区 11
1.2.7 格式化分区 14
1.2.8 LILO配置 14
1.2.10 设置时区 16
1.2.9 网络配置 16
1.2.11 设置帐号 17
1.2.12 认证配置 17
1.2.13 选择安装软件包 18
1.2.14 X Window配置 20
1.2.15 创建启动盘 22
1.3 升级红旗/Red Hat Linux 23
1.4 使用字符模式安装系统 23
1.5 使用专家模式安装系统 24
1.6 对DMA66卡的支持情况 28
1.7 在第二块硬盘上安装红旗Linux 29
1.8 卸载Linux操作系统 30
1.9 系统引导过程 31
1.9.1 INIT和运行级 31
1.9.2 配置不同运行级别的系统服务:/etc/inittab文件 32
1.9.3 运行控制脚本 33
1.10 LILO 36
1.10.1 LILO规范 36
1.10.4 配置LILO 37
1.10.2 LILO的优势 37
1.10.3 LILO、Linux与其它操作系统的区别 37
1.11 LILO常见问题分析 40
1.11.1 启动过程中死机 40
1.11.2 如何在大硬盘上安装LILO 41
1.11.3 LILO产生的磁盘错误码 41
第二章 Linux文件系统和常用命令 43
2.1 Linux目录结构和文件系统 43
2.1.1 Linux的目录结构 43
2.1.2 文件系统 44
2.2 文件分类 46
2.3 文件属性 48
2.4 常用Linux命令 50
2.5 命令的输入和输出 65
2.6 在一行中执行多个命令 67
2.7 在管道线中运行命令 67
3.1.1 格式化软盘 69
3.1 访问软盘驱动器和CD-ROM 69
第三章 Linux系统基本配置 69
3.1.2 使用mount命令挂载软盘驱动器和CD-ROM 70
3.1.3 在X Windows操作界面下挂载CD-ROM和软驱 71
3.2 制作Red Hat Linux/红旗Linux引导盘 74
3.2.1 使用mkbootdisk命令制作引导盘 74
3.2.2 利用DOS引导盘制作红旗Linux启动盘 75
3.2.3 使用rdev命令制作红旗Linux启动盘 75
3.3.1 配置声卡 76
3.3 配置声卡 76
3.3.2 使用OSS商业声卡驱动 78
3.4 配置串行设备 79
3.4.1 串行设备相关配置文件 79
3.4.2 配置串行多用户卡 80
3.5 Windows系统与Linux系统的互操作 81
3.5.1 在Windows系统中操作Linux系统的文件 81
3.5.2 在Linux系统中操作Windows系统的文件 82
3.6 配置网络远程管理 82
3.7 网上邻居 84
3.8 浏览WWW主页 86
3.9 网上收发E-mail 87
3.9.1 Kmail的配置 87
3.9.2 接收E-mail 90
3.9.3 书写并发送E-mail 91
3.9.4 拼写检查 91
3.10 使用wget从WWW上传输数据 92
4.1 Linux打印系统概述 95
第四章 配置Linux打印机 95
4.2 使用printtool配置打印机 96
4.2.1 配置本地打印机 97
4.2.2 配置网络打印机 98
4.2.3 配置SMB打印机 98
4.3 Linux打印命令和工具 99
4.3.1 Linux打印命令 99
4.3.2 打印队列管理工具:Klpq 101
4.4.1 /etc/printcap说明 102
4.4 使用配置文件定制打印机 102
4.4.2 打印过滤器 104
第五章 配置X Windows 105
5.1 X Windows—客户/服务器结构的体现 105
5.2 X Windows与Microsoft Windows的比较 106
5.2.1 相似之处 106
5.2.2 相异之处 106
5.3 X服务器与窗口管理器 107
5.3.1 X服务器 107
5.3.2 窗口管理器 108
5.4 配置X Windows的准备工作 109
5.4.1 显示卡的型号和生产厂商 109
5.4.2 显示卡的显示内存 110
5.4.3 显示器的型号和生产厂商 110
5.4.4 显示器的水平和垂直刷新频率 110
5.4.5 鼠标类型 111
5.5 使用Xconfigurator配置显示卡 112
5.6.1 Files 118
5.6 使用XF86Config配置X Windows 118
5.6.2 ServerFlags 119
5.6.3 Keyboard 120
5.6.4 Pointer 121
5.6.5 Monitor 122
5.6.6 Device 124
5.6.7 Screen 125
5.6.8 Display 125
6.1.1 添加用户帐号 127
6.1 使用Linuxconf理系统用户 127
第六章 配置多用户环境 127
6.1.2 修改用户帐号 128
6.1.3 修改用户密码 128
6.1.4 修改root用户密码 130
6.1.5 注销用户帐号 130
6.1.6 恢复用户帐号 130
6.1.7 删除用户帐号 130
6.1.8 建立一个组 131
6.1.10 修改组成员 132
6.1.9 删除一个组 132
6.2 在Linux中设置磁盘限额 133
6.3 Linux PAM系统管理 134
6.3.1 Linux PAM概述 134
6.3.2 Linux PAM配置文件 135
6.3.3 Linux PAM可用模块 137
第七章 文件系统的备份和恢复 147
7.1 备份概念简介 147
7.1.1 备份设备 148
7.1.2 备份策略 149
7.2 备份工具 151
7.2.1 tar 151
7.2.2 cpio 153
7.2.3 dd 154
7.3 虚拟盘 155
7.4 磁盘镜像 156
7.5 其它商用备份软件 157
7.5.1 BRU 157
7.6 服务器之间的备份 158
7.5.2 PerfectBackup+ 158
第八章 Linux常用应用程序 159
8.1 多媒体应用程序 159
8.1.1 XMMS 159
8.1.2 Xllamp 160
8.1.3 Xmp3play 160
8.1.4 MpegTVPlayer 160
8.1.5 AKtion! 160
8.2 文字、表格程序 161
8.2.1 StarOffice 162
8.2.2 WordPerfect 162
8.2.3 Applix Suite 162
8.2.4 Tex 162
8.2.5 Xemacs 163
8.3 图形、图像软件 163
8.3.1 Gimp 163
8.3.2 Xfig 164
8.4.1 Dosemu 165
8.4 仿真软件 165
8.3.3 XPaint 165
8.3.4 Electric Eyes 165
8.4.2 Wabi 173
8.4.3 WINE 174
8.5 WWW浏览器 174
8.5.1 Netscape Communicator 174
8.5.2 其它常用的浏览器 175
8.6 X窗口管理器 175
8.6.1 KDE 175
8.6.2 Gnome 176
8.6.3 fvwm 176
第九章 配置Linux内核 177
9.1 Linux内核概述 177
9.1.1 Linux内核版本号 177
9.1.2 内核模块 178
9.2 配置Linux内核 178
9.2.1 配置Linux内核步骤 178
9.2.2 使新的内核生效 180
9.3 内核参数说明 181
9.2.3 恢复原来的内核 181
第十章 网络基础 185
10.1 重要配置文件 185
10.1.1 Internet网络服务文件/etc/services 185
10.1.2 Internet协议文件/etc/protocols 186
10.1.3 Internet服务数据库文件/etc/inetd.conf 187
10.1.4 主机文件/etc/hosts 188
10.2 常用网络相关命令 189
10.2.1 监视网络状态命令netstat 189
10.1.5 域名解析文件/etc/resolv.conf 189
10.1.6 其它常用配置文件 189
10.2.2 查看并操作网络接口命令ifconfig、ifup和ifdown 192
10.2.3 配置主机和网络命令netconf和linuxconf 193
10.2.4 配置TCP/IP命令netconfig 195
10.2.5 netcfg 196
10.2.6 其它常用命令 197
11.1.1 DNS的实现 199
第十一章 DNS/DHCP管理 199
11.1 DNS/DHCP技术入门 199
11.1.2 DHCP的实现 206
11.2 DNS配置文件及语法 208
11.2.1 配置文件语法定义 208
11.2.2 DNS服务器配置文件 215
11.2.3 DNS客户配置文件 222
11.3 DNS配置实例分析 223
11.3.1 配置/etc/named.boot和/etc/named.Conf 224
11.3.3 自定义配置文件company.com 225
11.3.2 配置文件/var/named/named.ca 225
11.3.4 自定义配置文件192.168.0 226
11.3.5 自定义配置文件127.0.0 226
11.3.6 配置文件/etc/resolv.conf 227
11.3.7 配置文件/etc/hosts 227
11.3.8 配置其它客户机 227
11.3.9 为一个DNS服务器申请多个域名 227
11.4.1 配置Linux DHCP服务器 228
11.4 配置DHCP 228
11.4.2 DHCP服务器常见问题分析 229
11.4.3 配置DHCP客户机 230
第十二章 Linux拨号、ISDN和FAX 231
12.1 PPP工作原理 231
12.1.1 PPP链接类型 234
12.1.2 工作原理 234
12.1.3 PPP协商 235
12.1.5 代理ARP 236
12.1.4 PPP身份认证 236
12.2 配置PPP拨号 238
12.2.1 准备工作 238
12.2.2 使用Kppp配置PPP拨号 239
12.2.3 使用minicom配置PPP拨号 243
12.2.4 使用配置文件配置PPP拨号 245
12.3 使用diald配置自动拨号功能 250
12.4 配置PPP服务器 251
12.4.1 配置Linux PPP拨入服务器 251
12.4.2 配置PPP客户机 254
12.4.3 使用网络服务 256
12.5 配置回拨功能 257
12.5.1 配置回拨服务器 257
12.5.2 配置回拨客户机 259
12.5.3 配置回拨的其它方法 259
12.6 使用PPP的直接电缆连接 261
12.7.1 Efax for Linux 262
12.7.2 使用Efax for Linux发传真 262
12.7 Linux传真 262
12.7.3 通过打印功能发传真 263
12.7.4 接收传真 264
12.8 在Linux上配置ISDN 265
12.8.1 ISDN软件包 265
12.8.2 ISDN的内核配置 265
12.8.3 配置ISDN4Linux 267
第十三章 配置ApacheWWW服务器 269
13.1 使用linuxconf配置Apache 269
13.2.2 配置Apache 270
13.2 使用配置文件配置Apache 270
13.2.1 安装Apache 270
13.2.3 管理Apache 274
13.3 配置虚拟主机 276
13.3.1 使用相同的IP地址 276
13.3.2 使用不同的IP地址 277
13.4 配置用户主页 279
13.5 支持Perl和PHP3 279
13.6 配置Apache代理 281
13.6.1 配置Apache HTTP代理 281
13.6.2 配置Apache逆向代理 282
13.6.3 配置Windows客户机使用代理服务器 283
第十四章 配置FTP 285
14.1 文件传输协议FTP 285
14.2 FTP常用命令集 286
14.3 配置Linux FTP服务器 289
14.3.1 配置文件/etc/ftpaccess 289
14.3.3 配置文件/etc/ftphosts 297
14.3.2 配置/etc/ftpconversions 297
14.4 配置虚拟FTP服务器 298
14.5 FTP镜像站点 300
14.5.1 安装FTP mirror 300
14.5.2 配置FTP mirror参数 301
14.5.3 目录信息 303
14.5.4 自动镜像脚本 305
15.1 路由概念介绍 307
第十五章 配置IP路由 307
15.1.1 IP帧格式 308
15.1.2 IP路由 308
15.1.3 路由选择 309
15.1.4 路由表 310
15.1.5 Internet体系结构和寻址表 311
15.1.6 路由选择协议 313
15.1.7 路由选择精灵进程 320
15.2 维护内核路由选择表 323
15.2.1 查看内核路由选择表 323
15.2.2 维护内核路由选择表 324
15.3 gated配置文件 325
15.3.1 gated选项语句 326
15.3.2 gated接口语句 327
15.3.3 gated定义语句 328
15.3.4 gated协议语句 329
15.3.5 gated静态语句 339
15.3.6 gated控制语句 340
15.3.7 gated指示语句 344
15.3.8 gated跟踪语句 344
15.4 配置IP路由 346
第十六章 配置Linux邮件系统 347
16.1 电子邮件 347
16.1.1 电子邮件系统概述 347
16.1.2 简单邮件传送协议SMTP 348
16.1.3 邮件转发、电子邮件网关和邮局协议 349
16.1.5 通用Internet邮件扩充MIME 350
16.1.4 POP3和IMAP 350
16.1.6 用户代理 351
16.1.7 邮件传送代理 351
16.2 处理本地邮件的用户代理程序:mail(1)命令 352
16.2.1 启动和停止mail 352
16.2.2 阅读邮件 354
16.2.3 定制显示的邮件列表 354
16.2.6 新建邮件 355
16.2.5 转发邮件 355
16.2.4 回复邮件 355
16.2.7 保存邮件 357
16.2.8 删除邮件 358
16.2.9 恢复被删除的邮件 358
16.2.10 打印邮件 359
16.2.11 编辑邮件 359
16.2.12 创建邮件发送列表 361
16.2.13 mail(1)高级配置 361
16.3 Internet新闻和邮件用户代理程序:pine 362
16.5 其它常用用户代理程序:elm、mutt 363
16.4 X Windows用户代理程序:Kmail 363
16.6 邮件传送代理:sendmail 364
16.6.1 理解Sendmail高级配置:sendmail.mc 365
16.6.2 理解sendmail.cf 372
16.7 设置POP3代理 388
16.8 虚拟邮件服务器 389
16.9 sendmaii常见问题分析 389
16.10.1 fetchmail功能概述及基本用法 390
16.10 从邮件服务器中取回邮件:fetchmail 390
16.10.2 fetchmail配置工具:fetchmailconf 391
16.11 X Windows邮件监视程序:KBiff 394
第十七章 防火墙与代理服务器 397
17.1 Linux ipchains 397
17.1.1 ipchains内核支持 397
17.1.2 ipchains功能概述 397
17.1.3 ipchains参数介绍 401
17.1.4 红旗Linux防火墙 407
17.1.6 IP转发 411
17.1.5 IP流量控制 411
17.2 代理服务器 412
17.2.1 squid代理服务器 412
17.2.2 如何在Linux中设置透明代理 416
第十八章 配置和使用NetNews 419
18.1 NetNews应用程序及其配置文件 419
18.1.1 接收新闻馈送精灵进程:innd 420
18.1.2 接收新闻主机馈送:innfeed 423
18.1.3 向其它新闻主机馈送:nntpsend 425
18.1.4 监视innd进程:innwatch 427
18.1.5 INN的用户交互软件:ctlinnd 428
18.1.6 NNRP 428
18.1.7 Moderate 429
18.1.8 文章过期控制 430
18.1.9 Storage API 431
18.2 安装新闻服务器 433
18.3 配置新闻客户 433
18.3.1 配置Internet Explore和Netscape新闻客户 433
18.3.2 配置Krn新闻客户 438
第十九章 配置网络信息服务(NIS) 441
19.1 NIS工作原理 441
19.1.1 NIS域 442
19.1.2 NIS映像文件 442
19.1.3 NIS服务器和客户 443
19.1.4 NIS捆绑 444
19.1.5 NIS文件说明 444
19.1.7 NIS命令 446
19.1.6 网络组 446
19.1.8 小结 450
19.2 配置NIS服务 450
19.2.1 规划NIS配置 450
19.2.2 启动、停止NIS 451
19.2.3 初始化主NIS服务器 451
19.2.4 初始化NIS客户机 456
19.2.5 初始化从NIS服务器 457
19.3.2 添加NIS服务器 458
19.3.1 修改NIS域名 458
19.3 管理NIS域 458
19.3.3 删除从NIS服务器 459
19.3.4 改变NIS主服务器 459
19.4 管理NIS映像 460
19.4.1 添加新映像 460
19.4.2 修改映像 460
19.5 管理NIS用户 460
19.6 检查NIS服务器状态 461
20.1.1 安装Firebird BBS 463
第二十章 配置BBS服务器 463
20.1 配置Firebird BBS 463
20.1.2 Firebird BBS与新闻组的结合 464
20.2 使用wwwthreads、mysql和perl搭建论坛 464
20.2.1 搭建论坛准备工作 464
20.2.2 安装WWWThreads 465
第二十一章 Linux远程启动 467
21.1 Linux远程启动原理 467
21.2 远程启动实例 468
第二十二章 使用SNMP管理TCP/IP网络 471
22.1 网络管理 471
22.1.1 一个简单的网络管理模型 472
22.1.2 SNMP工作原理 473
22.1.3 SMUX协议 483
22.2 SNMP配置 487
22.3 SNMP 493
23.1.1 Samba概念介绍 499
23.1 配置Linux samba 499
第二十三章 Linux、NT与NetWare的资源共享 499
23.1.2 配置Linux Samba服务器 500
23.1.3 配置Windows samba客户机 503
23.1.4 配置Linux Samba客户机 505
23.1.5 使PPP客户使用Samba服务器 508
23.1.6 Samba示例分析 508
23.1.7 虚拟SMB服务 511
23.2 NFS网络文件系统 511
23.2.1 网络文件系统介绍 512
23.2.3 NFS协议族 513
23.2.2 NFS组成 513
23.3 配置NFS 515
23.3.1 Linux NFS的启动和停止 515
23.3.2 配置Linux NFS服务器 515
23.3.3 配置Linux NFS客户端 516
23.4.1 Linux与Linux之间的资源共享 517
23.4.2 Linux与NT之间的资源共享 517
23.4 Linux、NT与NetWare的资源共享 517
23.4.3 Linux与NetWare之间的资源共享 518
第二十四章 数据库服务器 521
24.1 在Linux中安装Oracle 8 521
24.1.1 系统硬件要求 521
24.1.2 安装ORACLE 521
24.1.3 使用ORACLE安装盘创建数据库对象 526
24.1.4 启动、关闭Oracle 8数据库 527
24.1.5 使用脚本创建数据库对象 528
24.2.1 系统硬件要求 529
24.2.2 安装步骤 529
24.2 在Linux中安装Oracle 8i 529
24.2.3 启动、关闭Oracle 8i数据库 531
24.3 在Linux安装db2 6.1 532
24.3.1 系统硬件要求 532
24.3.2 安装db2 6.1 532
24.3.3 启动、关闭DB2数据库 532
24.4.3 配置Sybase数据库 533
24.4.2 安装步骤 533
24.4.1 安装要求 533
24.4 在Linux上安装Sybase 533
24.4.4 启动、关闭Sybase数据库 534
24.5 MySQL 534
24.5.1 安装MySQL 535
24.5.2 测试MySQL的运行情况 535
24.5.3 MySQL不支持的功能 537
第二十五章 维护系统安全和性能 539
25.1 安全等级 539
25.2.2 维护计算机的物理安全 542
25.2 系统安全策略 542
25.2.1 控制系统访问权限 542
25.2.3 检查对计算机的非法入侵 543
25.2.4 注销用户 543
25.2.5 使用chroot()限制用户 543
25.2.6 SUID/SGID位和粘着位 544
25.3 Linux网络安全体系 546
25.4 保护系统数据 547
25.4.1 数据加密 547
25.4.2 不同系统之间的数据和文件操作 548
25.4.3 维护文件系统完整性 549
25.5 维护文件系统空闲空间 550
25.5.1 清除系统日志文件 551
25.5.2 增加磁盘空间和重构文件系统 552
25.5.3 建立虚拟盘 553
25.6 维护文件系统性能 553
25.6.1 降低文件系统性能的因素 553
25.6.3 调整文件系统性能 554
25.6.2 文件系统i节点溢出 554
25.7 调整系统内存 557
25.7.1 虚拟内存 557
25.7.2 高速缓存 559
第二十六章 socket通信 561
26.1 TCP/IP socket介绍 561
26.1.1 流式套接字 562
26.1.2 数据报套接字 578
26.2 UNIX domain socket介绍 579
27.1 Linux设备及驱动程序 585
第二十七章 Linux设备驱动程序 585
27.2 Linux设备驱动程序的基本结构及常用系统调用 586
27.2.1 初始化子程序 586
27.2.2 处理I/O请求的子程序 586
27.2.3 中断服务子程序 589
27.3 LINUX系统下的具体实现 592
27.4 Linux设备驱动实例 593
27.4.1 编写子程序 594
27.4.3 测试驱动程序 596
27.4.2 编译程序 596
27.5.1 如何避免I/O端口冲突 597
27.5.2 如何避免中断冲突 597
27.5 常见问题分析 597
27.6 网络设备驱动程序 598
27.6.1 网络驱动程序的结构 598
27.6.2 网络驱动程序的基本方法 598
27.6.3 网络驱动程序用到的数据结构 600
27.6.4 网络驱动程序常见问题 602
27.7.1 申请和释放内存 603
27.7 常用系统调用 603
27.7.2 中断 604
27.7.3 时钟 604
27.7.4 I/O端口操作 605
27.7.5 打印 605
27.7.6 注册驱动程序 605
27.7.7 sk_buff 606
第二十八章 终端管理 607
28.1.1 termios数据结构 608
28.1 终端数据结构与函数调用 608
28.1.3 终端函数调用 611
28.1.2 特殊输入字符 611
28.1.4 stty命令 613
28.2 规范模式 614
28.3 非规范模式 614
28.4 终端窗口 619
28.5.1 伪终端概述 620
28.5.2 TELNET原理 620
28.5 伪终端 620
第二十九章 中文处理 627
29.1 中文字符集和编码 627
29.2 locale支持 628
29.2.1 locale概念介绍 628
29.2.2 用户自定义locale 630
29.2.3 locale函数调用 632
29.3 检测locale的设置 633
29.4.1 消息源程序 634
29.4 建立和使用消息目录 634
29.4.2 消息类生成工具 635
第三十章 PHP脚本 637
30.1 PHP3概述 637
30.1.1 PHP3的功能 637
30.1.2 PHP的特点 638
30.2 安装PHP3 638
30.3 配置PHP 638
30.3.1 常用配置选项 639
30.3.2 其它配置选项 640
30.4 PHP语法 641
30.4.1 变量初始化 641
30.4.2 变量作用域 642
30.4.3 环境变量 643
30.4.4 变量类型及其转换 643
30.4.5 测试变量类型 643
30.5.1 赋值语句 644
30.5 基本语句 644
30.4.7 数组 644
30.4.6 字符串转换 644
30.5.2 条件语句 645
30.5.3 循环语句 646
30.5.4 REQUIRE语句和INCLUDE语句 648
30.5.5 函数 648
30.5.6 类定义 649
31.1.1 最简单的GTK程序 651
31.1 GTK程序开发初步 651
第三十一章 GTK开发 651
31.1.2 用GTK编写Hello World程序 652
31.1.3 消息和回调函数 654
31.2 封装控件 656
31.2.1 Box封装概念介绍 656
31.2.2 box封装实例 656
31.2.3 使用表格封装 658
31.3 GTK控件 659
31.3.1 GTK控件概述 660
31.3.2 按钮控件 662
31.3.3 Tooltips控件 665
31.3.4 Notebook控件 665
31.3.5 滚动窗口 672
31.3.6 EventBox窗口控件 673
31.3.7 其它常用控件 674
31.3.8 文件选择框控件 675
31.3.9 List控件 677
31.3.10 Menu控件 680
31.4 rc文件 686
31.4.1 rc文件的功能 687
31.4.2 GTK的rc文件格式 687
31.4.3 rc文件的范例 688
31.5 GTK参考 690
31.5.1 数据类型定义 690
31.5.2 链表 691
31.5.3 内存管理函数 692
31.5.4 Timers函数 692
31.5.5 字符串函数 692