第1部分 Debian GNU/Linux的介绍与安装 2
第1章 走近Linux,走近Debian 2
1.1 Linux的诞生——一个传奇 3
1.1.1 GNU与黑客文化 4
1.1.2 版权与自由软件 5
1.2 关于Linux的一些真相——误解止于亲历 6
1.2.1 Linux的操作界面 6
1.2.2 Linux的硬件支持 7
1.2.3 Linux的软件支持 8
1.2.4 Linux的中文支持 9
1.2.5 Linux的多媒体支持 10
1.2.6 目前已知的部分Linux无法支持的功能 10
1.3 发布版,缤纷的Linux世界 10
1.3.1 Slackware、Debian、Red Hat、SuSE——传统诸强 10
1.3.2 Gentoo、LFS DIY乐园 12
1.3.3 KNOPPIX、Damn Small、SLAX——精彩体验,摆脱安装烦恼 13
1.3.4 Ubuntu与Fedora——后起之秀 14
1.3.5 华镭、Hiweed、红旗——本地化与国际化 15
1.3.6 选择Debian或选择其他——没有最好,只有最适合 16
1.4 Debian:又一段光荣与梦想 18
第2章 安装Debian 22
2.1 Debian安装程序——D-I 23
2.2 安装前的准备工作 24
2.2.1 需要收集的系统信息 24
2.2.2 对硬盘进行重新分区 25
2.2.3 选择引导介质 25
2.3 安装Debian 27
2.3.1 引导系统并开始安装 27
2.3.2 语言与区域设置 27
2.3.3 加载完整的安装程序 29
2.3.4 配置网络 31
2.3.5 选定安装包的来源 32
2.3.6 时间和时区设置 34
2.3.7 磁盘分区 34
2.3.8 安装基本系统 36
2.3.9 配置初始用户 37
2.3.10 选择安装任务 38
2.3.11 完成系统安装 39
2.3.12 国际化、本地化与locale 40
2.3.13 Linux文件目录树与磁盘分区 41
2.4 安装更多软件 42
第2部分 系统的使用与基本配置 46
第3章 Linux的基本概念和基本命令 46
3.1 Linux的基本概念 47
3.1.1 内核、模块与基本库 47
3.1.2 文件与文件系统 48
3.1.3 程序、进程与线程 49
3.1.4 环境变量与Shell 50
3.1.5 网络与服务 50
3.2 文件与目录操作命令 51
3.2.1 cd命令 51
3.2.2 ls命令 51
3.2.3 cp命令 54
3.2.4 mv命令 56
3.2.5 rm命令 56
3.2.6 ln命令 57
3.3 基本文本处理命令 57
3.3.1 cat命令与tac命令 57
3.3.2 more命令与less命令 59
3.3.3 head命令与tail命令 61
3.3.4 其他文本工具 62
3.4 基本压缩、打包命令 64
3.4.1 gzip和bzip2 64
3.4.2 tar和cpio 65
3.4.3 其他打包压缩工具 67
3.5 查阅帮助信息的命令 69
3.5.1 man 69
3.5.2 info 70
第4章 Debian高级包管理工具(APT) 72
4.1 Debian软件包 73
4.2 APT源设置 74
4.3 APT操作界面 75
4.3.1 aptitude——APT的推荐操作界面 75
4.3.2 apt-get——APT的传统命令行界面 81
4.3.3 apt-cache——强大的APT查询工具 82
4.3.4 dpkg——APT的底层软件包工具 84
4.4 APT设置 85
4.5 其他APT相关工具 85
4.5.1 查找相关APT具 86
4.5.2 网络与安装源相关APT工具 86
4.5.3 其他APT前端 87
4.6 小结 87
第5章 Debian图形界面 88
5.1 Gnome——Debian的默认桌面环境 89
5.1.1 Gnome桌面元素 89
5.1.2 Gnome的基本操作与环境设置 91
5.1.3 在Debian中选择与设置中文输入法 92
5.1.4 配置登录管理器 94
5.2 各种窗口管理器与桌面环境——更多选择,更多乐趣 96
5.2.1 KDE与Gnome——两大主流桌面环境 97
5.2.2 Xfce——轻量级桌面环境 98
5.2.3 WindowMaker——小巧型窗口管理器 99
5.2.4 Enlightenment DR17(E17)——绚烂的桌面Shell 101
5.2.5 其他常见窗口管理器 103
5.3 用不同的方式启动X-Window 103
5.3.1 通过其他显示管理器启动X 103
5.3.2 用startx启动X-Window 104
5.3.3 定制自己的X会话 105
5.4 小结 106
第6章 Debian中的日常应用与管理 107
6.1 命令行与图形界面 108
6.2 日常系统维护与管理 112
6.2.1 su和sudo——暂时获取超级用户权限 112
6.2.2 screen——命令行的窗口管理器 114
6.2.3 interfaces文件与ifconfig命令——基本网络设置与管理 115
6.2.4 pppoeconf——ADSL宽带上网拨号工具 118
6.2.5 NetworkManager——图形化的网络配置工具 120
6.2.6 mc——命令行下的文件管理器 121
6.2.7 Nautilus与Konqueror——图形化的文件管理器 122
6.2.8 其他图形界面文件管理器 122
6.3 文字编辑与文本处理工具 123
6.3.1 VIM编辑器 123
6.3.2 其他文本界面编辑器 130
6.3.3 图形化界面的编辑器 131
6.3.4 OpenOffice.org——办公软件套装 132
6.4 网络相关工具 132
6.4.1 ssh——远程管理的必备工具 133
6.4.2 lftp与ncftp——命令行界面的FTP访问工具 134
6.4.3 w3m——命令行下的WWW浏览工具 136
6.4.4 Firefox或Iceweasel——Mozilla的网页浏览器 137
6.4.5 epiphany与konqueror——Gnome与KDE的浏览器 137
6.4.6 wget与curl——命令行与后台下载工具 138
6.4.7 QFerm与PCMan-X——BBS客户端 140
6.4.8 Pidgin与Kopete——即时消息工具 140
6.5 邮件与个人信息处理工具 141
6.5.1 电子邮件系统概述 141
6.5.2 fetchmail与getmail——命令行邮件接收程序 142
6.5.3 procmail与maildrop——后台邮件分发程序 145
6.5.4 mutt——命令行下的邮件客户端 147
6.5.5 Exim4与msmtp——轻量级邮件服务器与邮件发送程序 152
6.5.6 Thunderbird或Icedove——Mozilla的图形界面邮件客户端 154
6.5.7 Evolution——全功能邮件与个人信息管理工具 155
6.5.8 Sylpheed与KMail——图形界面邮件客户端的其他选择 155
6.5.9 邮件与个人处理工具小结 156
6.6 图像查看与处理工具 156
6.6.1 eog与gthumb——图像查看器 156
6.6.2 GIMP——图形处理工具 157
6.6.3 ImageMagick——命令行图形处理工具 158
6.7 小结 158
第3部分 系统管理与自动化 160
第7章 系统的启动、关闭与挂起 160
7.1 系统启动相关的基本概念 161
7.1.1 系统启动的过程 161
7.1.2 内核参数 162
7.1.3 initrd与initramfs 163
7.1.4 init与用户空间进程 164
7.2 系统引导程序 164
7.2.1 GRUB——Debian默认的引导程序 164
7.2.2 LILO——传统的Linux引导程序 166
7.2.3 SYSLINUX与ISOLINUX——其他介质的引导程序 168
7.2.4 GRUB引导系统失败时的紧急处理方法 168
7.2.5 用其他介质引导并修复GRUB 169
7.3 制作系统启动盘 171
7.3.1 用SYSLINUX/ISOLINUX引导软盘和光盘 171
7.3.2 安装SYSLINUX/ISOLINUX 172
7.3.3 实例1——Live CD与网络安装双启动U盘 172
7.3.4 实例2——Live CD与网络安装双启动光盘 173
7.4 init进程与启动加载的服务 173
7.4.1 inittab设置 173
7.4.2 用Debian的方式选择启动的服务 176
7.4.3 利用init处理服务启动异常或忘记密码的情况 177
7.4.4 下一代的init工具 177
7.5 加载文件系统 178
7.5.1 mount与fstab——加载文件系统 178
7.5.2 Linux系统中常见的文件系统 179
7.5.3 用户空间的文件系统支持 181
7.6 系统的挂起与恢复 182
7.6.1 内核的挂起支持 182
7.6.2 用户空间的系统挂起 183
7.7 小结 184
第8章 X-Window架构与桌面基础设施 185
8.1 X-Window架构与Xorg 186
8.2 Debian中的X-Window的设置 186
8.2.1 Debian化的X Server配置 187
8.2.2 X Server的配置文件 190
8.2.3 XFT2字体引擎与Fontconfig 195
8.2.4 Debian中X11核心字体的配置 199
8.2.5 特殊鼠标设备的设置 201
8.2.6 多屏显示与Xrandr 203
8.2.7 3D桌面 204
8.3 Debian桌面中的即插即用 206
8.3.1 ACPI——BIOS层面的即插即用 207
8.3.2 Linux Hotplug机制 211
8.3.3 udev——Debian默认的Hotplug用户空间代理 211
8.3.4 Udev与sysfs 212
8.3.5 udev的规则 213
8.3.6 HAL与DBus——用户空间中的接力 214
8.3.7 用户端的即插即用设置 215
8.4 小结 215
第9章 用Debian的方式编译内核与安装驱动程序 216
9.1 为什么要编译内核 217
9.2 编译内核的准备工作 217
9.3 配置与编译内核 219
9.3.1 内核的配置 219
9.3.2 Debian的标准编译内核方式 228
9.4 以Debian的方式安装或删除内核 229
9.5 Debian风格的安装模块方法 230
9.5.1 使用module-assistant安装内核模块 230
9.5.2 安装驱动的固件(firmware) 231
9.5.3 安装厂商提供的二进制模块 231
9.6 小结 231
第10章 Debian系统管理 232
10.1 用户和组的管理 233
10.1.1 用户和组的概念 233
10.1.2 Debian中用户与组的创建与设置 234
10.1.3 可插拔认证模组(PAM) 237
10.1.4 用户磁盘限额与quota 239
10.2 日志和日志的管理 240
10.2.1 Debian中的重要日志文件 240
10.2.2 日志管理工具 241
10.3 查找相关操作 242
10.3.1 程序查找 242
10.3.2 文件查找与批量操作 243
10.3.3 文本的匹配查找 245
10.3.4 软件包查找 247
10.4 任务执行的自动化 248
10.5 软件安装与组织 248
10.5.1 Debian Alternative机制和update-alternatives 248
10.5.2 用Checkinstall在Debian中维护自己编译安装的软件 251
10.5.3 自己动手制作Debian软件包 252
10.6 小结 254
第11章 Shell编程 255
11.1 命令与脚本的运行 256
11.1.1 login Shell与nonlogin Shell 256
11.1.2 脚本的运行 257
11.2 变量与表达式 258
11.2.1 变量的取值与赋值 258
11.2.2 表达式与test命令 259
11.3 分支与循环 261
11.3.1 for循环 261
11.3.2 while循环 261
11.3.3 if分支操作 262
11.3.4 case分支操作 262
11.4 输入、输出与重定向 263
11.4.1 重定向与管道 263
1 1.4.2 echo命令 264
11.4.3 read命令 265
11.5 特殊变量 265
11.6 小结 266
第12章 寻求帮助 267
12.1 系统信息查看 268
12.1.1 硬件信息的查看 268
12.1.2 Proc文件系统和Sysfs文件系统 270
12.1.3 内核版本与状态信息 271
12.2 系统中的帮助信息 273
12.2.1 软件包附带的文档与文档包 273
12.2.2 dwww——利用浏览器查看帮助文件 273
12.3 向他人寻求帮助与报告Bug 274
12.3.1 通过邮件列表寻求帮助 274
12.3.2 通过报告Bug向Debian开发人员反馈信息 274
12.4 小结 277
第4部分 软硬件的使用 280
第13章 TEX的安装与使用 280
13.1 TEX概述 281
13.1.1 TEX简介 281
13.1.2 谁选择使用TEX 282
13.2 在Debian中安装LATEX2ε 282
13.2.1 TEX的发布版 283
13.2.2 TEX的经典工作方式——成也字体,败也字体 283
13.2.3 在Debian中安装TEXLive相关包 285
13.3 LATEX的基本使用 286
13.3.1 第一个LATEX作品 286
13.3.2 LATEX源文件的基本要素:文本、命令和注释 287
13.3.3 LATEX源文件的组织 287
13.3.4 特殊字符的输入与逐字显示 289
13.3.5 列表与枚举 290
13.4 使用LATEX书写中文 291
13.5 插入公式、图形、表格以及程序代码 293
13.5.1 插入公式 293
13.5.2 插入表格 294
13.5.3 插入图形 294
13.5.4 插入程序代码 295
13.6 插入参考文献 295
13.7 更多技巧与常用宏包 296
13.8 推荐读物 296
第14章 在Debian中使用各种硬件 298
14.1 打印机的使用和设置 299
14.1.1 Debian下CUPS的安装 299
14.1.2 通过CUPS安装与管理打印机 299
14.1.3 使用CUPS打印机打印 302
14.2 在Debian中使用数码相机与各种数码产品 303
14.3 使用刻录机 303
14.3.1 K3B——图形化的刻录工具 304
14.3.2 命令行刻录工具 306
14.3.3 制作iso文件系统 306
14.3.4 使用命令行工具刻录光盘 307
14.4 PCI电视卡的使用 308
14.4.1 在Debian中驱动电视卡 308
14.4.2 使用TVTime看电视 311
14.4.3 其他电视相关工具 312
14.5 小结 312
第15章 Linux与无线网络 313
15.1 无线局域网的使用 314
15.1.1 Linux中无线网卡驱动的安装 314
15.1.2 内核中支持的无线网卡 314
15.1.3 特定网卡的驱动模块 315
15.1.4 驱动其他网卡 315
15.1.5 无线网卡的配置 316
15.1.6 射频开关 318
15.2 连接蓝牙设备 319
15.2.1 蓝牙技术概述 319
15.2.2 Linux下的蓝牙协议栈 320
15.2.3 用户空间中的蓝牙协议栈与相关工具 320
15.2.4 使用蓝牙 323
15.3 GPRS上网 326
15.4 小结 329
第5部分 网络服务的配置与管理 332
第16章 Debian组网与基本服务 332
16.1 在Debian中配置IP地址和路由 333
16.1.1 自动配置网络 333
16.1.2 查看网络状态 334
16.1.3 路由配置 337
16.2 Debian中的基本网络服务 337
16.2.1 远程访问服务 337
16.2.2 DHCP服务 338
16.2.3 inetd 339
16.2.4 xinetd 339
16.3 高级组网功能 340
16.3.1 像交换机一样工作 340
16.3.2 包过滤与地址转换 340
16.4 与Windows网络互通 343
16.4.1 向Windows共享资源 344
16.4.2 使用Windows计算机上的服务 345
16.4.3 与Windows计算机交互 346
16.4.4 关于Samba的更多话题 347
16.5 小结 347
第17章 用Debian提供内容服务 348
17.1 在Debian中使用Apache提供HTTP服务 349
17.1.1 在Debian中安装Apache 349
17.1.2 Apache的模块机制 350
17.1.3 Debian中的Apache虚拟主机设置 351
17.1.4 服务器的目录访问权限设置及认证 352
17.1.5 提供SSL安全连接 354
17.2 在Debian中提供各种Web应用 355
17.2.1 phpMyAdmin——MySQL数据库管理工具 355
17.2.2 drupal与mambo——内容管理系统 356
17.2.3 moinmoin———Wiki引擎 359
17.2.4 wordpress——Blog引擎 360
17.2.5 其他的多种WWW服务 362
17.3 在Debian上架设FTP服务器 362
17.3.1 FTP概述 363
17.3.2 在Debian中使用vsftpd提供服务 364
17.3.3 在Debian中使用pure-ftpd提供服务 365
17.4 利用Debian提供版本管理服务 365
17.4.1 版本管理概述 366
17.4.2 版本管理模型 367
17.4.3 用CVS进行版本控制 368
17.4.4 使用Subversion进行版本控制 370
17.4.5 用GIT进行版本控制 374
17.5 小结 375
第18章 构建小型企业网 376
18.1 构建LDAP服务器 377
18.1.1 LDAP服务器架设 377
18.1.2 客户工具的使用 378
18.2 基于LDAP的登录管理 380
18.2.1 用LDAP组织用户信息 380
18.2.2 让PAM系统使用LDAP用户信息 382
18.3 基于LDAP的邮件服务 383
18.3.1 配置目录服务 384
18.3.2 Postfix配置 384
18.4 邮件列表服务 387
18.4.1 配置mailman 387
18.4.2 配置Postfix 387
18.4.3 Mailman的Web管理 387
18.5 基于LDAP的Wiki 387
18.5.1 mediawiki安装与部署 388
18.5.2 LDAP支持 389
18.5.3 mediaWiki功能细节调整 390
18.6 提供一个自动代理脚本服务 391
18.6.1 自动代理脚本的使用 391
18.6.2 自动代理脚本原理 391
18.6.3 自动生成自动代理脚本 392
18.7 小结 395
第6部分 附录 398
附录A 常用网络资源 398
A.1 Debian官方与半官方网站和文档 399
A.1.1 Debian官方主页 399
A.1.2 Debian官方安装说明 399
A.1.3 Debian参考手册 399
A.1.4 Debian Wiki 399
A.1.5 Debian-HK Wiki 399
A.2 主流发布版的Wiki或文档 399
A.2.1 Ubuntu官方Wiki 399
A.2.2 Ubuntu中文Wiki 400
A.2.3 OpenSuSE官方Wiki 400
A.2.4 Gentoo官方Wiki 400
A.3 常用软件官方网站 400
A.3.1 Linux内核 400
A.3.2 GNU项目 400
A.3.3 X.org与FreeDesktop 400
A.3.4 Gnome 401
A.3.5 KDE 401
A.3.6 Apache基金会 401
A.4 特殊软硬件应用环境 401
A.4.1 打印机:LinuxPrinting 401
A.4.2 USB设备:LinuxUSB 401
A.4.3 WLAN:LinuxWireless 401
A.4.4 笔记本电脑和移动设备 401
A.5 文摘、专栏与在线杂志 402
A.5.1 IBM DeveloperWorks 402
A.5.2 LinuxGazette 402
A.5.3 Linux.com 402
A.5.4 KernelNewbies 402
A.6 邮件列表、论坛与BBS 402
A.6.1 LKML 402
A.6.2 Debian官方邮件列表 402
A.6.3 水木社区 403
A.6.4 LinuxSir 403
A.6.5 LinuxFans 403
A.6.6 LinuxForum 403
附录B 常用Debian软件包源列表 404
B.1 官方源 405
B.1.1 CN99镜像 405
B.1.2 Geekbone镜像 405
B.1.3 linuxforum镜像 406
B.1.4 TW镜像 406
B.1.5 FTP2.JP镜像 407
B.1.6 中科大镜像 407
B.1.7 大连理工镜像 407
B.2 非官方源 408
B.2.1 Debian Multimedia 408
B.2.2 Backports源 408
B.2.3 Enlightenment DR17 409
B.2.4 中科大非官方源 409