第1部分 Linux基础
第1章 Linux初步 3
1.1 迈开第一步 3
1.2 了解Linux 4
1.3 探索Linux历史 6
1.3.1 从贝尔实验室的UNIX文化开始 6
1.3.2 UNIX的商业化 7
1.3.3 GNU的免费UNIX 8
1.3.4 BSD失去了机会 9
1.3.5 Linus填补了空缺 9
1.4 为什么Linux如此出色 10
1.4.1 Linux的特性 10
1.4.2 OSI开放源代码定义 11
1.4.3 充满活力的社区 12
1.4.4 主要的软件项目 12
1.5 现实世界中的Linux 13
1.5.1 学校使用的Linux 13
1.5.2 小型企业中的Linux 14
1.5.3 企业中的Linux 14
1.6 Linux神话、传奇和FUD 15
1.6.1 能阻止对病毒的担忧吗 15
1.6.2 会因使用Linux而受到指控吗 15
1.6.3 Linux是否能在所有计算机上运行 17
1.6.4 Linux会颠覆Microsoft吗 18
1.6.5 使用Linux时如何获得支持 18
1.6.6 Linux只面向专家级用户吗 19
1.6.7 公司如何用Linux获得利润 19
1.6.8 不同的Linux发行版之间有何不同 19
1.6.9 Linux吉祥物是企鹅吗 20
1.7 运行Linux 20
1.8 小结 21
第2章 从shell运行命令 22
2.1 启动shell 23
2.1.1 使用shell提示符 23
2.1.2 使用终端窗口 23
2.1.3 使用虚拟终端 24
2.2 选择shell 24
2.2.1 使用bash(以及早期的sh)shell 24
2.2.2 使用tcsh(以及早期的csh)shell 25
2.2.3 使用ash 25
2.2.4 使用ksh 25
2.2.5 使用zsh 25
2.3 探索shell 25
2.3.1 检查登录会话 25
2.3.2 检查目录和权限 26
2.3.3 检查系统活动 27
2.3.4 退出shell 28
2.4 在Linux中使用shell 28
2.4.1 命令的位置 28
2.4.2 重新运行命令 30
2.4.3 连接和扩展命令 33
2.5 创建shell环境 34
2.5.1 配置shell 35
2.5.2 使用shell环境变量 37
2.5.3 管理后台和前台进程 38
2.6 使用Linux文件系统 40
2.6.1 创建文件和目录 41
2.6.2 移动、复制和删除文件 44
2.7 使用vi文本编辑器 45
2.7.1 运行vi 46
2.7.2 在文件中移动 47
2.7.3 搜索文本 47
2.7.4 使用命令和数字 48
2.8 小结 48
第3章 进入桌面 49
3.1 了解桌面 49
3.2 启动桌面 50
3.2.1 引导到桌面 50
3.2.2 引导到图形登录 50
3.2.3 引导到文本提示 51
3.3 K桌面环境 51
3.3.1 使用KDE桌面 52
3.3.2 使用Konqueror文件管理器管理文件 53
3.3.3 配置Konqueror选项 57
3.3.4 管理窗口 58
3.3.5 配置桌面 60
3.3.6 添加应用程序启动器和MIME类型 61
3.4 GNOME桌面 62
3.4.1 使用Metacity窗口管理器 63
3.4.2 使用GNOME面板 64
3.4.3 使用Nautilus文件管理器 67
3.4.4 AIGLX的3D效果 68
3.4.5 更改GNOME首选项 69
3.4.6 退出GNOME 70
3.5 配置GNOME Online Desktop 70
3.6 配置自己的桌面 71
3.6.1 配置X 71
3.6.2 选择窗口管理器 73
3.6.3 选择个人的窗口管理器 74
3.7 获得更多信息 75
3.8 小结 75
第2部分 运行显示
第4章 学习基本的管理功能 79
4.1 图形管理工具 79
4.1.1 使用基于Web的管理 79
4.1.2 不同发行版的图形管理 81
4.2 使用根登录(Root Login) 82
4.2.1 在shell中变成根用户(su命令) 83
4.2.2 允许有限的管理访问 84
4.3 了解管理命令、配置文件和日志文件 84
4.3.1 管理命令 84
4.3.2 管理配置文件 85
4.3.3 管理日志文件 87
4.4 使用sudo和其他管理登录 88
4.5 管理Linux系统 89
4.6 创建用户账户 89
4.6.1 使用useradd添加用户 90
4.6.2 设置用户默认值 92
4.6.3 使用usermod修改用户 93
4.6.4 使用userdel删除用户 93
4.7 配置硬件 93
4.7.1 管理可移动硬件 94
4.7.2 使用可装载的模块 96
4.8 管理文件系统和磁盘空间 97
4.8.1 挂载文件系统 99
4.8.2 使用mkfs命令创建文件系统 103
4.8.3 添加硬盘 103
4.8.4 检查系统空间 105
4.9 监视系统性能 106
4.10 小结 106
第5章 连接到Internet 107
5.1 连接到网络 107
5.1.1 通过拨号服务进行连接 107
5.1.2 将单台计算机连接到宽带 108
5.1.3 将多台计算机连接到宽带 109
5.1.4 服务器连接 110
5.1.5 连接其他设备 110
5.2 使用以太网连接到Internet 111
5.2.1 在安装期间配置以太网 111
5.2.2 从桌面配置以太网 111
5.2.3 使用Fedora中的Network Configuration GUI 112
5.2.4 识别其他计算机(主机和DNS) 113
5.2.5 使用Ubuntu中的Network Settings GUI 114
5.2.6 了解Internet连接 115
5.3 使用拨号连接到Internet 116
5.3.1 获得信息 116
5.3.2 设置拨号PPP 117
5.3.3 使用Internet Configuration Wizard创建拨号连接 117
5.3.4 启动PPP连接 118
5.3.5 按需启动PPP连接 118
5.3.6 检查PPP连接 119
5.3.7 检查是否已经检测到调制解调器 119
5.4 通过无线连接到Internet 120
5.5 小结 120
第6章 保护Linux 121
6.1 Linux安全检查列表 121
6.1.1 了解特定于发行版的安全资源 124
6.1.2 了解一般的安全资源 124
6.2 安全地使用Linux 124
6.2.1 使用密码进行保护 125
6.2.2 选择健壮的密码 125
6.2.3 使用影子密码文件 126
6.3 使用日志文件 127
6.3.1 syslogd的作用 128
6.3.2 使用syslogd将日志重定向到Loghost 129
6.3.3 理解messages日志文件 130
6.4 使用安全shell工具 130
6.4.1 启动ssh服务 130
6.4.2 使用ssh、sftp和scp命令 131
6.4.3 不带密码使用ssh、scp和sftp 131
6.5 保护Linux服务器的安全 132
6.5.1 使用TCP Wrapper来控制对服务的访问 132
6.5.2 了解各种攻击技术 134
6.5.3 拒绝服务攻击的防护 135
6.5.4 分布式DOS攻击的防护 137
6.5.5 针对入侵攻击的防护 139
6.5.6 使用SELinux保护服务器的安全 141
6.5.7 使用证书和加密保护Web服务器 141
6.6 使用安全工具Linux Live CD 147
6.6.1 安全Live CD的优势 147
6.6.2 使用INSERT检查rootkit 147
6.7 小结 148
第3部分 挑选和安装Linux发行版
第7章 安装Linux 151
7.1 选择Linux发行版 151
7.1.1 Linux的使用情况 151
7.1.2 其他发行版 152
7.2 获得自己的Linux发行版 152
7.2.1 寻找其他Linux发行版 152
7.2.2 了解需要 153
7.2.3 下载发行版 153
7.2.4 将发行版刻录到CD上 154
7.3 了解常见的安装问题 154
7.3.1 了解计算机硬件 154
7.3.2 升级或从头进行安装 155
7.3.3 与Windows双引导还是只用Linux 155
7.3.4 使用安装引导选项 156
7.3.5 分区硬盘驱动器 156
7.3.6 使用LILO或GRUB引导装载程序 161
7.3.7 配置网络 166
7.3.8 配置其他管理特性 167
7.4 小结 167
第8章 运行Fedora和Red Hat Enterprise Linux 168
8.1 探究各种特性 169
8.1.1 Red Hat安装程序(Anaconda) 169
8.1.2 RPM软件包管理 170
8.1.3 kudzu硬件检测 170
8.1.4 Red Hat桌面的外观 170
8.1.5 系统配置工具 170
8.2 深入研究Fedora 171
8.2.1 日益增加的社区支持Fedora 171
8.2.2 论坛和邮寄列表 172
8.3 Fedora变得成熟起来 172
8.4 安装Fedora 173
8.4.1 选择计算机硬件 173
8.4.2 选择安装方法 174
8.4.3 选择安装还是升级 174
8.4.4 开始安装 175
8.4.5 运行Fedora Setup Agent 179
8.5 小结 179
第9章 运行Debian GNU/Linux 180
9.1 Debian GNU/Linux的内幕 181
9.1.1 Debian软件包 181
9.1.2 Debian软件包管理工具 181
9.1.3 Debian的版本 182
9.2 获得Debian的帮助 182
9.3 安装Debian GNU/Linux 183
9.3.1 硬件要求和安装计划 183
9.3.2 运行安装程序 184
9.4 管理Debian系统 186
9.4.1 配置网络连接 186
9.4.2 使用APT进行软件包管理 188
9.4.3 使用dpkg进行软件包管理 190
9.4.4 使用tasksel安装软件包集(任务) 191
9.4.5 替换、转换和重写 191
9.4.6 使用debconf管理软件包配置 192
9.5 小结 193
第10章 运行SUSE和openSUSE Linux 194
10.1 了解SUSE和openSUSE 195
10.2 SUSE中的内容 195
10.2.1 使用YaST进行安装和配置 196
10.2.2 RPM软件包管理 197
10.2.3 软件自动更新 198
10.2.4 使用zypper管理软件 198
10.3 获得SUSE和openSUSE支持 198
10.4 安装openSUSE 199
10.4.1 开始之前 199
10.4.2 开始安装 199
10.5 开始使用openSUSE 202
10.6 小结 202
第11章 运行KNOPPIX 203
11.1 KNOPPIX的特性 203
11.2 了解KNOPPIX 204
11.2.1 KNOPPIX新闻 204
11.2.2 KNOPPIX内幕 204
11.2.3 KNOPPIX的出色之处 205
11.2.4 KNOPPIX的挑战 206
11.2.5 KNOPPIX的出处 206
11.2.6 探究KNOPPIX的使用 207
11.3 启动KNOPPIX 207
11.3.1 获得一台计算机 207
11.3.2 引导KNOPPIX 208
11.3.3 解决引导问题 208
11.4 使用KNOPPIX 211
11.4.1 上网 212
11.4.2 在KNOPPIX中安装软件 212
11.4.3 在KNOPPIX内保存文件 213
11.4.4 保存KNOPPIX配置 214
11.4.5 重新启动KNOPPIX 214
11.5 小结 215
第12章 运行Yellow Dog Linux 216
12.1 理解Yellow Dog Linux 216
12.2 Yellow Dog前景 217
12.3 深入Yellow Dog 218
12.4 安装Yellow Dog Linux 218
12.4.1 硬件支持 219
12.4.2 规划安装 220
12.4.3 开始安装 221
12.4.4 重新引导Linux Mac 225
12.5 更新Yellow Dog Linux 225
12.6 利用Mac-on-Linux运行Mac应用程序 225
12.7 支持选项 226
12.8 小结 226
第13章 运行Gentoo Linux 227
13.1 了解Gentoo 227
13.1.1 Gentoo的开放源代码精神 227
13.1.2 Gentoo社区 228
13.1.3 构建、调优和调整Linux 228
13.1.4 Gentoo的使用场所 229
13.2 Gentoo包含的内容 229
13.2.1 用Portage管理软件 230
13.2.2 查找软件包 230
13.2.3 Gentoo的新功能 230
13.3 安装Gentoo 231
13.3.1 获得Gentoo 231
13.3.2 从live CD开始Gentoo安装 232
13.3.3 使用最小化CD开始Gentoo安装 233
13.3.4 通过emerge获得软件 237
13.4 小结 238
第14章 运行Slackware Linux 239
14.1 了解Slackware 239
14.2 Slackware社区的特色 240
14.2.1 Slackware的创造者 240
14.2.2 Slackware用户 241
14.2.3 Slackware的Internet站点 241
14.3 使用Slackware的挑战 242
14.4 将Slackware用做开发平台 242
14.5 安装Slackware 243
14.5.1 获得Slackware 243
14.5.2 Slackware 12.0中的新特性 243
14.5.3 硬件要求 243
14.5.4 开始安装 244
14.6 开始使用Slackware 247
14.7 小结 248
第15章 运行Linspire和Freespire 249
15.1 Linspire概述 249
15.2 哪个版本更适合您 250
15.2.1 使用Click-N-Run安装软件 251
15.2.2 其他安装选项 252
15.3 Linspire和Freespire支持 252
15.3.1 论坛和信息 253
15.3.2 Audio Assistant 253
15.4 安装Linspire或Freespire 253
15.4.1 硬件需求 253
15.4.2 安装Linspire或Freespire 254
15.5 保护Linspire和Freespire 256
15.6 小结 257
第16章 运行Mandriva 258
16.1 Mandriva的特性 258
16.2 探究Mandriva 259
16.2.1 Mandriva安装程序(DrakX) 260
16.2.2 通过RPMDrake进行RPM软件包管理 260
16.2.3 Mandriva Linux控制中心(MCC) 261
16.3 Mandriva社区 262
16.3.1 Mandriva Club上的RPM储存库 262
16.3.2 Mandriva论坛 262
16.4 安装Mandriva Limited Edition 262
16.4.1 适合Mandriva的硬件 263
16.4.2 使用DrakX安装程序安装Mandriva 263
16.5 小结 265
第17章 运行Ubuntu Linux 266
17.1 Ubuntu概述 266
17.1.1 Ubuntu版本 266
17.1.2 Ubuntu安装程序 267
17.1.3 将Ubuntu作为桌面 267
17.1.4 将Ubuntu作为服务器 268
17.1.5 Ubuntu副产品 269
17.1.6 Ubuntu面临的挑战 269
17.2 安装Ubuntu 270
17.3 开始使用Ubuntu 272
17.3.1 试用桌面系统 272
17.3.2 添加更多软件 273
17.4 获得有关Ubuntu的更多信息 275
17.5 小结 276
第18章 运行Linux防火墙/路由器 277
18.1 了解防火墙 277
18.2 通过防火墙保护桌面系统 278
18.2.1 在Fedora中启动防火墙 278
18.2.2 在Mandriva中配置防火墙 279
18.3 通过iptables使用防火墙 280
18.3.1 用iptables启动 280
18.3.2 使用iptables进行SNAT或IP伪装 283
18.3.3 通过iptables添加模块 283
18.3.4 将iptables用作透明代理 284
18.3.5 使用iptables进行端口转发 284
18.4 制作Coyote Linux可引导软盘防火墙 285
18.4.1 创建Coyote Linux防火墙 285
18.4.2 创建Coyote Linux软盘 286
18.4.3 运行Coyote Linux软盘防火墙 289
18.4.4 管理Coyote Linux软盘防火墙 289
18.5 使用其他防火墙发行版 290
18.6 小结 291
第19章 运行可引导的Linux发行版 292
19.1 可引导Linux发行版概述 292
19.2 选择可引导的Linux 293
19.2.1 安全和救援可引导发行版 293
19.2.2 演示可引导版本 295
19.2.3 多媒体可引导版本 296
19.2.4 微型桌面发行版 298
19.3 特殊目的的可引导发行版 300
19.4 自定义可引导Linux 301
19.5 小结 302
第4部分 运行应用程序
第20章 播放音乐和视频 305
20.1 播放数字媒体并遵守法律 305
20.1.1 版权保护问题 306
20.1.2 探究编解码器 307
20.2 播放音乐 308
20.2.1 安装声卡 308
20.2.2 选择音频CD播放器 309
20.2.3 使用MIDI音频播放器 313
20.2.4 执行音频文件转换和压缩 314
20.3 录制和处理音乐 316
20.3.1 使用cdrecord创建音频CD 316
20.3.2 使用Grip处理CD 316
20.3.3 使用cdlabelgen创建CD标签 317
20.4 使用电视、视频和数字成像设备进行工作 318
20.4.1 使用tvtime看电视 318
20.4.2 使用Ekiga召开视频会议 319
20.5 观看电影和视频 320
20.5.1 使用xine观看视频 320
20.5.2 使用Helix Player和RealPlayer 10 322
20.6 通过gtkam和gPhoto2使用数码相机 323
20.6.1 使用gtkam下载数字照片 323
20.6.2 使用相机作为存储设备 323
20.7 小结 324
第21章 处理文字和图像 325
21.1 使用OpenOffice.org 325
21.2 其他字处理程序 327
21.2.1 使用StarOffice 327
21.2.2 使用AbiWord 327
21.2.3 使用KOffice 328
21.2.4 摆脱Windows的束缚 328
21.3 使用传统的Linux出版工具 329
21.4 在Groff和LaTeX中创建文档 330
21.4.1 使用Groff处理文本 331
21.4.2 使用TeX/LaTeX处理文本 336
21.4.3 转换文档 337
21.4.4 构建结构化文档 338
21.5 在Linux中打印文档 340
21.5.1 打印到默认打印机 340
21.5.2 从shell中进行打印 341
21.5.3 检查打印队列 341
21.5.4 删除打印作业 341
21.5.5 检查打印机的状况 342
21.6 使用Ghostscript和Acrobat显示文档 342
21.6.1 使用Ghostscript和gv命令 342
21.6.2 使用Adobe Acrobat Reader 343
21.7 处理图形 343
21.7.1 使用GIMP处理图像 343
21.7.2 进行屏幕捕获 344
21.7.3 使用Kpaint修改图像 344
21.8 使用由SANE驱动的扫描仪 344
21.9 小结 345
第22章 电子邮件和网页浏览 346
22.1 使用电子邮件 346
22.1.1 选择电子邮件客户端 346
22.1.2 离开Windows 348
22.1.3 开始使用电子邮件 348
22.1.4 调整电子邮件 349
22.1.5 使用Thunderbird阅读电子邮件 349
22.1.6 在Evolution中管理电子邮件 353
22.1.7 使用Mozilla Mail阅读电子邮件 354
22.1.8 使用基于文本的电子邮件阅读器 355
22.2 选择Web浏览器 356
22.3 探究Mozilla套件 356
22.4 使用Firefox 357
22.4.1 设置Firefox 357
22.4.2 保护Firefox 360
22.4.3 Firefox的使用提示 361
22.4.4 使用Firefox的控件 361
22.4.5 改善Firefox浏览 361
22.4.6 使用Firefox执行任务 362
22.5 使用基于文本的Web浏览器 363
22.6 小结 364
第23章 通过Linux玩游戏 365
23.1 Linux游戏概述 365
23.2 Linux游戏基本信息 366
23.2.1 从何处获得Linux游戏信息 366
23.2.2 选择游戏显卡 367
23.3 运行开放源代码Linux游戏 368
23.3.1 GNOME游戏 368
23.3.2 KDE游戏 369
23.3.3 Fedora中的游戏 370
23.3.4 PlanetPenguin Racer(TuxRacer) 373
23.4 Linux商业游戏 374
23.4.1 在Linux中开始运行商业游戏 374
23.4.2 玩商业Linux游戏 375
23.4.3 id Software的游戏 375
23.4.4 玩TransGaming和Cedega游戏 376
23.4.5 Loki Software的游戏演示版 377
23.5 小结 379
第5部分 运行服务器
第24章 运行Linux、Apache、MySQL和PHP(LAMP)服务器 383
24.1 LAMP服务器的组件 383
24.1.1 Apache 383
24.1.2 MySQL 384
24.1.3 PHP 384
24.2 设置LAMP服务器 385
24.2.1 安装Apache 385
24.2.2 安装PHP 385
24.2.3 安装MySQL 386
24.3 运行LAMP服务器 387
24.3.1 编辑Apache配置文件 387
24.3.2 向Apache添加虚拟主机 388
24.3.3 用户内容和userdir设置 389
24.3.4 安装Web应用程序:Coppermine Photo Gallery 389
24.4 故障排除 391
24.4.1 配置错误 391
24.4.2 访问禁止和服务器内部错误 392
24.5 使用SSL/TLS保证Web流量的安全 393
24.5.1 生成自己的密钥 394
24.5.2 配置Apache支持SSL/TLS 394
24.6 小结 395
第25章 运行邮件服务器 396
25.1 Internet电子邮件的内部工作原理 396
25.2 使用的系统和软件 397
25.3 系统准备 397
25.3.1 为直接传递配置DNS 398
25.3.2 配置从邮件主机检索邮件 398
25.4 安装和配置邮件服务器软件 399
25.4.1 安装Exim和Courier 399
25.4.2 安装ClamAV和Spam Assassin 400
25.5 测试和故障排除 401
25.5.1 检查日志 401
25.5.2 常见的错误(以及解决方法) 402
25.6 配置邮件客户端 403
25.6.1 配置Fetchmail 403
25.6.2 配置基于Web的邮件 404
25.7 使用SSL/TLS保护通信的安全 404
25.8 小结 405
第26章 运行打印服务器 406
26.1 通用UNIX打印服务(CUPS) 406
26.2 设置打印机 407
26.2.1 使用基于Web的CUPS管理 407
26.2.2 使用Red Hat Printer Configuration窗口 409
26.3 使用CUPS打印 413
26.3.1 配置CUPS服务器(cupsd.conf) 413
26.3.2 启动CUPS服务器 414
26.3.3 手动配置CUPS打印机选项 414
26.4 使用打印命令 415
26.4.1 使用lpr进行打印 415
26.4.2 使用lpc命令列出打印机状态 415
26.4.3 使用lprm删除打印作业 415
26.5 配置打印服务器 416
26.5.1 配置共享的CUPS打印机 416
26.5.2 配置共享的Samba打印机 417
26.6 小结 418
第27章 运行文件服务器 419
27.1 设置NFS文件服务器 419
27.1.1 获得NFS 420
27.1.2 共享NFS文件系统 421
27.1.3 使用NFS文件系统 424
27.1.4 卸载NFS文件系统 427
27.1.5 NFS的其他极佳用途 427
27.2 设置Samba文件服务器 428
27.2.1 获得并安装Samba 428
27.2.2 使用SWAT配置Samba 429
27.2.3 使用Samba文件和命令 434
27.2.4 使用Samba共享目录 436
27.2.5 排除Samba服务器的故障 437
27.3 小结 438
第6部分 Linux编程
第28章 编程环境和接口 441
28.1 理解编程环境 441
28.2 使用Linux编程环境 442
28.2.1 Linux开发环境 442
28.2.2 图形编程环境 447
28.2.3 命令行编程环境 449
28.3 Linux编程接口 449
28.3.1 创建命令行接口 450
28.3.2 创建图形接口 453
28.3.3 应用程序编程接口 454
28.4 小结 456
第29章 编程工具和实用程序 457
29.1 常用工具箱 457
29.2 使用GCC编译器 458
29.2.1 编译多个源代码文件 459
29.2.2 GCC的命令行选项 460
29.3 使用make自动构建 461
29.4 库实用程序 463
29.4.1 nm命令 463
29.4.2 ar命令 464
29.4.3 ldd命令 464
29.4.4 ldconfig命令 464
29.4.5 环境变量和配置文件 465
29.5 源代码控制 465
29.5.1 使用RCS进行源代码控制 465
29.5.2 使用CVS进行源代码控制 467
29.6 使用GNU调试器进行调试 469
29.6.1 启动GDB 470
29.6.2 在调试器中检查代码 471
29.6.3 检查数据 471
29.6.4 设置断点 472
29.6.5 使用源代码 473
29.7 小结 473
附录A 创建Linux CD以及获得源代码 474
附录B 走入Linux社区 477
· · · · · · (
收起)