《Debian GNU/Linux高级应用大全》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)Mario Camou,(美)Aaron Von Cowenberghe著;陈河南,王宏秦等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302051054
  • 页数:822 页
图书介绍:DebianGNU/Linux是一专业的极具特色的Linux系统。本书通过重点介绍DebianGNU/Linux的核心技术与复杂功能,为GNU/Linux中、高级用户提供专家级的、完整的经验与技巧。

第1部分 基础知识 3

第1章 Debian Linux初步 3

1.1 自由软件 3

1.1.1 开放源代码软件、GNU和自由软件基金会 4

1.1.2 保护这个团体:自由软件许可证中的保留 4

1.2 Linux是什么 5

1.3 Linux的发行版本 5

1.3.1 软件管理 5

1.4 Linux为什么更好 6

1.4.1 灵活性 6

1.4.3 效率 7

1.4.2 自由 7

1.4.4 可靠性 8

1.4.5 符合标准 8

1.5 为什么选择Debian 9

1.5.1 自由软件 9

1.5.2 大小 10

1.5.3 安全性 10

1.5.4 技术领先性 10

1.6 谁制作了Debian 10

1.7 小结 11

2.1.2 bash的语法 12

2.1.1 bash的历史 12

2.1 bash: Bourne-Again Shell 12

第2章 shell 12

2.1.3 重定向 16

2.1.4 别名 19

2.1.5 bash的作业控制 20

2.1.6 特殊的bash变量 22

2.1.7 bash命令历史记录 24

2.1.8 目录堆栈 25

2.2 tcsh: Tenex C Shell 26

2.2.1 tcsh语法 26

2.2.2 tcsh的作业控制 27

2.2.3 特殊的tcsh变量 28

2.2.4 tcsh的历史记录和目录堆栈 31

2.3 小结 32

第3章 X Window System环境 33

3.1 基本的X概念 34

3.1.1 客户机/服务器图形系统 34

3.1.2 X资源 35

3.1.3 窗口管理器 35

3.1.4 X键盘的基本内容 36

3.1.5 通过网络显示应用程序 37

3.1.6 标准X应用程序的选项 39

3.2 安装和配置X 39

18.9.23 config file=(G) 40

3.2.1 XFee86软件包 40

3.2.2 运行XF86Setup 43

3.2.3 在X下支持不同的分辨率和位深 49

3.4 窗口管理器 51

3.4.1 创建外观和观感 51

3.3 启动X 51

3.3.2 采用xdm自动启动X 51

3.3.1 采用startx手工启动X 51

3.4.2 处理用户交互 52

3.5 选择窗口管理器 53

3.5.1 lceWM 53

3.5.2 FVWM 56

3.5.3 WMaker 59

3.5.4 KDE 62

3.6 桌面管理器 62

3.6.1 应用程序集成 62

3.6.2 共同的外观和观感 63

3.6.3 桌面功能 63

3.6.4 KDE--K桌面环境 64

3.6.5 GNOME:GNU网络对象模型 67

3.8 小结 71

3.7 X的故障排除 71

第4章 用户应用程序 72

4.1 办公应用程序 72

4.1.1 Siag Office套件 72

4.1.2 StarOffice 74

4.1.3 WordPerfect 78

4.1.4 Gnome Office套件 79

4.1.5 MSWordView 80

4.1.6 LyX 80

4.2 网络应用程序 81

4.2.1 建立拨号Internet连接 81

4.2.2 邮件 83

4.2.3 邮件阅读器 86

4.2.4 新闻组 88

4.2.5 Web浏览器 90

4.2.6 文件传输 91

4.2.7 远程访问 94

4.3 多媒体软件 95

4.3.1 图形编辑器 95

4.3.2 图形浏览器和转换器 97

4.3.3 音频编辑和编码应用程序 99

4.3.4 音频播放器 100

4.4 小结 100

第5章 实用工具 101

5.1 联机帮助文档 101

5.1.1 man 101

5.1.2 apropos 102

5.2.1 文件管理工具ls 103

5.2 文件管理 103

5.1.3 info 103

5.2.2 mv 106

5.2.3 cp 107

5.2.4 find命令 109

5.3 文件检测 110

5.3.1 cat 110

5.3.2 more/less 分页命令 112

5.3.3 head 113

5.3.4 tail 114

5.3.5 file 115

5.3.6 diff 116

5.3.7 cmp 117

5.4 数据处理 118

5.4.1 cut 119

5.4.2 paste 120

5.4.4 grep 121

5.4.3 sed 121

5.5 存档和压缩处理 123

5.5.1 tar 123

5.5.2 gzip 125

5.5.3 z命令 126

5.6 信息命令 127

5.6.1 /bin/true和/bin/false的使用 127

5.6.2 uname 127

5.6.3 hotname 128

5.6.4 id 129

5.6.5 logname 129

5.6.6 who和w 129

5.6.7 uptime命令 130

5.7.1 df 131

5.7.2 du 131

5.8 进程管理 131

5.7 磁盘空间 131

5.8.1 ps 132

5.8.2 Kill 133

5.8.3 top 134

5.9 用户间通信 134

5.9.1 write 135

5.9.2 wall 135

5.10.1 free 136

5.10 系统管理 136

5.9.3 mesg 136

5.10.2 关闭、中止和重新启动系统 137

5.11.1 date 138

5.11 杂项命令 138

5.11.2 hwclock 139

5.11.3 cal命令 139

5.12 小结 140

第6章 高级文本编辑 141

6.1 了解vi组件 142

6.1.1 使用vim编辑第一个文件 142

6.2 不同输入的vi命令 142

6.2.1 创建和编辑文件 143

6.2.2 帮助和撤销的使用 145

6.2.3 插入的使用 146

6.2.4 删除 148

6.2.5 Visual模式 149

6.2.6 状态和跳转 150

6.2.7 查找和替换 151

6.2.8 深入的剪切和复制功能 154

6.2.9 Shell命令 155

6.2.10 定制vi的变量 156

6.2.11 缩写词 156

6.2.12 map命令 157

6.2.13 正则表达式 158

6.2.14 Vi小结 159

6.3 emacs 160

6.3.1 启动和停止 160

6.3.2 在文档中移动光标 162

6.3.3 emacs命令的使用 163

6.3.4 HELP/UNDO命令 165

6.3.5 INSERT/DELETE命令 167

6.3.6 STAUS/JUMP命令 169

6.3.7 SEARCH/REPALCE 命令 170

6.3.8 进一步了解删除环 172

6.3.9 Shell命令 173

6.3.10 ABBREVIATIONS/SPELLING(缩写/拼写)命令 174

6.3.11 Map命令 175

6.4 小结 175

第7章 文档排版 176

7.1 文档排版和所见即所得编辑器的比较 176

7.1.1 灵活性 176

7.2 DocBook和XML 177

7.3 SGML 177

7.1.3 自动化:面向内容的标记 177

7.1.2 功能 177

7.3.1 SGML标记 178

7.3.2 查看SGML文档 179

7.3.3 DocBook标记 181

7.3.4 XML标记 183

7.4 TEX和Friends 189

7.4.1 TEX和分布 189

7.4.2 TEX的特殊字符 190

7.5.1 roff 的惯用语 193

7.5 groff 193

7.5.2 groff 的结构语法 194

7.5.3 groff 的调用 195

7.6 小结 196

第8章 功能强大的脚本编程工具 197

8.1 脚本编程基础 197

8.2 用bash shell编写脚本 198

8.2.1 显示信息--echo命令 198

8.2.2 变量和变量置换 199

8.2.3 其他置换和扩展 202

8.2.4 流控制 203

8.2.5 其他bash内置命令 208

8.3 Perl: 在Steroids上编写脚本 209

8.3.1 变量 210

8.3.2 运算符 213

8.3.3 特殊变量 219

8.3.4 控制结构 220

8.3.5 Perl的其他特征 228

8.4 小结 230

第9章 正则表达式 231

9.1 正则表达式基础 231

9.1.2 正则表达式的用途 232

9.1.1 识别数据中的模式 232

9.1.3 用法示例 233

9.2 正则表达式的概念 234

9.3 字符集的匹配 234

9.4 逻辑 237

9.4.1 量词 237

9.4.2 字符分类 237

9.4.3 分组和选择 238

9.4.4 定位符 238

9.5 使用正则表达式的工具 238

9.5.1 egrep 239

9.5.2 sed 240

9.5.3 Perl 241

9.5.4 procmail 250

9.6 小结 253

10.1 Debian软件包管理系统 255

第2部分 Debian系统管理 255

第10章 软件管理 255

10.1.1 Debian软件包格式分析 256

10.2.1 运行dselect 258

10.1.2 dselect--软件包管理的文本模式UI 258

10.2.2 访问Debian镜像 259

10.2.3 使用软件包列表浏览器 263

10.2.4 调整软件安装的最后几个步骤 268

10.2.5 dselect的安装和升级 268

10.2.6 配置dselect里未配置的软件 268

10.2.7 删除软件包 268

10.3 Apt--智能型命令行软件包管理器 268

10.3.1 Apt的优点 269

10.3.2 配置Apt 269

10.3.3 使用Apt 270

10.4 dpkg--Debian的核心 271

10.4.1 dpkg就是Debian 271

10.4.2 dpkg的基本操作(软件包安装方面的) 271

10.4.3 信息操作标记 273

10.4.4 改变dpkg的行为 275

10.4.5 高级dpkg问题 276

10.5 小结 276

第11章 管理基础 278

11.1 用户管理 278

11.1.1 用户管理概念 278

11.1.2 /etc/passwd文件 279

11.1.3 /etc/group文件 279

11.1.4 /etc/shadow文件 280

11.1.6 用户管理程序 281

11.1.5 /etc/skel目录 281

11.2.1 UNIX进程模型 284

11.2.2 守护进程 284

11.2 程序和进程 284

11.3 登录进程 285

11.3.1 /etc/nologin文件--拒绝对系统的登录访问 286

11.4 打印 287

11.1.4 lprng打印模型 287

11.4.2 /etc/printcap文件--设置打印队列 287

11.4.3 管理打印队列 288

11.5 调度任务 289

11.5.1 at工具 289

11.5.2 cron工具 291

11.6 磁盘和文件系统 292

11.6.1 磁盘和文件系统的概念 292

11.5.3 anacron工具 292

11.7 缓冲区缓存 295

11.7.1 安装和卸载文件系统 295

11.7.2 交换区 297

11.8 小结 299

第12章 定制引导程序 300

12.1 Linux内核 300

12.1.1 Linux内核架构 301

12.1.2 获得内核源代码 304

12.1.3 修补代码树 306

12.1.4 内核2.2的新特性 307

12.1.5 配置Linux内核 307

12.1.7 必备的选项 309

12.1.6 配置选项 309

12.1.8 硬件选项 310

12.2.1 建立内核映像 311

12.2 编译并安装内核 311

12.2.2 Debian编译内核的捷径 312

12.2.3 手工安装新内核 312

12.2.4 新内核的故障排除 313

12.2.5 从错误的内核安装中恢复 315

12.3 lilo 318

12.3.1 使用lilo 318

12.3.2 配置lilo 319

12.3.3 常用的lilo标记 320

12.3.4 运行lilo 322

12.4 init和软件启动 322

12.4.1 运行等级 322

12.4.2 特殊的运行等级 323

12.4.3 init的配置文件/etc/inittab 324

12.4.4 rc符号链接树 327

12.4.5 定制运行等级 328

12.5 其他资源 328

12.6 小结 329

第13章 系统日志和记账 330

13.1 系统日志 330

13.1.1 syslog守护进程 330

13.1.2 klogd守护进程 335

13.1.3 日志管理和维护 336

13.2 记账 337

13.2.1 磁盘记账 337

13.2.2 网络记账 340

13.2.3 进程记账和性能分析 347

13.2.4 用户记账 350

13.3 自动监控工具 351

13.4 小结 353

第14章 灾难恢复 354

14.1 作为第一线防御的备份 354

14.1.1 决定备份什么 355

14.1.2 选择介质 356

14.1.3 标准备份工具 359

14.1.4 备份日程 364

14.2.1 自定义引导软盘 367

14.2.2 Debian抢救盘 367

14.2.3 基于软盘的系统 367

14.2 恢复盘 367

14.3 记录系统文档 369

14.4 避免问题 370

14.4.1 不要使用root用户 370

14.4.2 不间断电源供应(UPS) 371

14.5 评估灾难 372

14.6 引导系统 373

14.6.1 使用特殊的引导选项 373

14.6.2 用抢救盘或定制软盘进行引导 373

14.7.1 使用e2fsck 374

14.7 修复磁盘问题 374

14.6.3 使用基于软盘的系统 374

14.8 从备份中恢复 375

14.7.2 使用lost+found 375

14.9 解决问题的技巧 376

14.10 小结 376

第15章 高级系统管理 377

15.1 深入理解引导过程 377

15.1.1 引导加载程序和内核 378

15.1.2 处理init 379

15.1.3 理解启动脚本 380

15.1.4 特殊运行等级 380

15.1.5 改变引导过程 381

15.2 用cron调度作业 382

15.2.1 crontab文件格式 382

15.2.2 用/etc/cron.d添加作业 382

15.2.6 用at快速调度作业 383

15.2.3 用/etc/cron.time添加作业 383

15.2.5 处理非持续运行的机器 383

15.2.4 作为普通用户使用cron 383

15.2.7 利用batch避免系统超载 384

15.3 切换用户身份 385

15.3.1 使用su 385

15.3.2 使用sudo 385

15.4 配额和记账 387

15.4.1 使用配额 387

15.4.2 使用进程记账 389

15.5 自动安装 389

15.5.1 基础知识 390

15.5.2 配置自动安装器 390

15.6 深入了解的资源 390

15.7 小结 391

16.1 TCP/IP基础 392

16.1.2 IP地址 392

16.1.2 分割网络 392

第16章 TCP/IP联网基础 392

16.1.3 TCP/IP协议套件 396

16.2 配置网络 398

16.2.1 配置文件 398

16.2.2 配置程序 402

16.3 网络守护进程 408

16.3.1 单独的TCP/IP守护进程 408

16.3.2 inetd--Internet超级服务器 408

16.4 设置PPP拨号服务器 410

16.4.1 基本配置 411

16.4.2 设置经过shell的PPP访问 412

16.4.3 设置不经过shell的直接PPP访问 413

16.5 小结 413

第17章 信息服务器 415

17.1 inetd和TCP包装 415

17.1.1 inetd概念 415

17.1.2 配置inetd 416

17.1.3 TCP包装 417

17.2 电子邮件 419

17.2.1 Sendmail 420

17.2.2 Listar 426

17.3.1 匿名FTP 431

17.3 FTP 431

17.3.2 wu-ftpd-academ 配置文件 432

17.4 Telnet 433

17.3.3 FTP安全问题 433

17.5 ssh 434

17.5.1 使用ssh 434

17.5.2 scp 434

17.5.3 ssh隧道传输 435

17.5.4 配置ssh 435

17.6 Web服务器 435

17.6.1 Apache 436

17.7 DNS与Bind 439

17.7.1 理解DNS解析过程 439

17.7.2 配置文件 439

17.8 Usenet 443

17.8.2 配置文件概述 444

17.8.1 安装INN 444

17.8.3 建立Newsfeed文件 447

17.8.4 ctlinnd命令 448

17.9 小结 449

第18章 使用Samba与Microsoft网络交互 450

18.1 安装Samba 451

18.2 运行简单的Samba 配置 451

18.2.1 测试Linux客户机 454

18.2.2 测试Windows客户机 455

18.2.3 网上邻居 456

18.2.4 排除Windows连接故障 456

18.3.1 [global]节 457

18.3 配置Samba文件/etc/smb.conf 457

18.3.2 [homes]节 458

18.3.3 [printers]节 458

18.4 文件与打印服务共享 461

18.5 优化Samba性能 462

18.6 测试配置文件 463

18.6.1 用testprns测试打印机 463

18.6.2 用smbstatus测试 463

18.7 运行Samba服务器 464

18.8 访问共享资源 464

18.8.1 在客户端使用smbclient 464

18.8.2 共享文件装到客户端 465

18.9.1 特殊约定 466

18.9 smb.conf公共配置选项 466

18.8.3 在Windows客户安装共享资源 466

18.9.2 read only=,writeable=,writable=及write ok=(S) 467

18.9.3 valid users=(S) 467

18.9.4 invalid users=(S) 467

18.9.5 read list=(S) 467

18.9.6 write list=(S) 468

18.9.7 path=(S) 468

18.9.8 create mask=(S)和create mode=(S) 468

18.9.9 browseable=(S) 468

18.9.10 printable=(S) 469

18.9.11 hosts allow=,hosts deny=,allow hosts=以及deny host(S) 469

18.9.12 public=(S)和guest ok=(S) 469

18.9.13 comment=(S)和server string=(G) 469

18.9.20 password level=(G)和username level=(G) 470

18.9.19 null passwords=(G) 470

18.9.21 security=(G) 470

18.9.15 encrypt passwords=(G) 470

18.9.17 interfaces=(G) 470

18.9.16 hosts equiv=(G) 470

18.9.14 domain logons=(G) 470

18.9.18 load printers=(G) 470

18.9.22 workgroup=(G) 471

18.10 Samba 文档资源 471

18.10.1 Samba应用程序文档资源 471

18.10.2 配置选项文档 472

18.10.3 其他文档 472

18.11 小结 472

第19章 高级网络管理工具 473

19.1 NFS--网络文件系统 473

19.1.1 什么是NFS 473

19.1.3 NFS守护进程 474

19.1.2 远程过程调用和外部数据表达 474

19.1.4 /etc/exports文件 477

19.1.5 通过NFS安装和卸载文件系统 479

19.2 NIS--网络信息系统 480

19.2.1 NIS分布的文件 481

19.2.2 安装NIS 481

19.2.3 NIS的幕后工作原理 485

19.2.4 使用NIS 486

19.2.5 管理NIS 486

19.2.6 自动安装程序 487

19.3 TCP/IP故障排除工具 491

19.3.1 ping 491

19.3.2 traceroute 492

19.3.3 tcpdump 494

19.3.4 小结 496

第3部分 安全问题 498

第20章 安全问题概观 498

20.1 安全概念 498

20.1.1 安全策略:主要规划 498

20.1.2 信息安全的各个方面 499

20.1.3 信息安全的常见错误概念 502

20.1.4 电子防护是足够的 503

20.1.5 周边安全措施和主机安全措施 504

20.1.6 安全和易用性的对比 505

20.2 联机攻击的主要类型 505

20.2.2 侦测攻击 506

20.2.3 破坏口令攻击 506

20.2.1 拒绝服务攻击 506

20.2.4 电子欺骗 507

20.2.5 中间人攻击 507

20.2.6 敌对的代码:特洛伊木马、病毒和蠕虫 508

20.2.7 开采者 和 脚本小孩 508

20.3 监视和入侵检测 509

20.3.1 什么是异常行为 509

20.3.2 监视什么 509

20.3.3 自动监视 510

20.4 小结 510

第21章 安全原则 512

21.1 常见的安全问题 513

21.1.1 病毒、特洛伊木马程序和Internet蠕虫 513

21.1.2 运行不必要的服务 514

21.1.4 明文发送口令 515

21.1.3 过度使用root账户 515

21.1.5 口令选择问题 516

21.1.6 破坏口令程序 516

21.1.7 社会工程 517

21.1.8 开放式转播 邮件系统 517

21.2 普通防御措施 518

21.2.1 仔细选择口令 518

21.2.2 观察日志 518

21.2.3 扫描端口 519

21.2.4 注意谁获得了访问权限 519

21.2.5 文件系统的安全 520

21.3.1 网络守护进程 521

21.3 远程访问的安全问题 521

21.2.6 不要作为root执行不可信的二进制文件 521

21.3.2 tcp_wrappers 522

21.3.3 终端和root账户 523

21.4 防御来自本地网络的攻击 523

21.4.1 网络文件系统 523

21.5 防御本地用户的攻击 524

21.5.1 登录电子欺骗 524

21.6 防御拒绝服务攻击 525

21.6.1 来自本地用户的攻击 525

21.6.2 来自远程系统的攻击 526

21.7 防御来自物理访问的攻击 526

21.8 安全工具 527

21.8.1 SSH 527

21.7.1 保护引导安全性 527

21.7.2 加密的文件系统 527

21.8.2 PAM 528

21.8.3 Saint/Satan 529

21.9 恢复损坏的系统 529

21.10 其他安全资源 529

21.11 小结 530

第22章 防火墙和代理服务器 531

22.1 防火墙和Linux内核 532

22.2 配置Linux防火墙 533

22.2.1 配置过滤防火墙 534

22.2.2 创建防火墙规则 535

22.2.3 错误配置防火墙 536

22.2.4 配置伪装防火墙 537

22.3 配置代理服务器 538

22.2.5 配置IP记账 538

22.2.6 ipchains(v2.2) 538

22.3.1 普通代理服务器 539

22.3.2 应用程序代理服务器 540

22.4 配置本地网络 541

22.4.1 配置应用程序代理服务器 542

22.4.2 配置SOCKS客户机 542

22.5 在防火墙后面运行服务器 543

22.6 联机文档 543

22.7 小结 544

第23章 加密 545

23.1 什么是加密 545

23.1.1 共享密钥和公钥加密 546

23.2.2 身份验证 547

23.2.1 保密性 547

23.2 加密的用途 547

23.2.3 不可否认性 548

23.3 合法发行和出口控制 548

23.4 加密通信的工具 549

23.4.1 SSH 549

23.4.2 PGP 553

23.5 小结 560

第4部分 开发环境 562

第24章 C/C++开发环境 562

24.1 C/C++环境 562

24.1.1 Debian中C语言的角色 563

24.1.2 Linux中的库 564

24.1.3 ld.so.conf和LD_LIBRARY_PATH环境变量 565

24.1.4 共享库与静态库 566

24.1.5 C库的修订版:FSF libc5和GNUlibc2.0与2.1 566

24.2 C及C++的编译与调试 567

24.2.1 C编译程序gcc 567

24.2.2 C++编译程序 g++ 569

24.2.3 编译程序的优化 569

24.2.4 链接程序ld 571

24.2.5 GNU调试程序gdb 572

24.2.6 利用gdb修改变量 575

24.2.7 系统库及头文件 584

24.3 小结 587

25.2.2 Java链接模型 588

25.2.1 传统的编译链接模型 588

25.2 Java的特点 588

25.1 什么是Java 588

第25章 Java程序设计 588

25.2.3 Java字节码 589

25.2.4 Java安全性 590

25.3 安装Java 591

25.3.1 JDK版本 591

25.3.2 解压缩和配置 592

25.3.3 编译和运行一个程序 592

25.4 Java程序设计 594

25.4.1 数据类型 594

25.4.2 运算符 595

25.4.3 控制结构 596

25.4.5 数组及内存管理 597

25.4.4 方法重载 597

25.4.6 异常处理 599

25.4.7 对象和继承 601

25.4.8 接口 609

25.4.9 线程 613

25.4.10 AWT 619

25.5 小结 619

第26章 tcl和tk程序设计 620

26.1 tcl基础 620

26.1.1 tcl的交互使用 621

26.1.2 tcl的非交互式使用 621

26.2 tcl语言 622

26.2.1 命令结构 622

26.2.2 注释 622

26.2.4 变量 623

26.2.3 数据类型 623

26.2.5 字符串值的操作 626

26.2.6 数值的操作 628

26.2.7 引用与置换 629

26.2.8 流程控制--if和switch 631

26.2.9 循环 633

26.2.10 I/O文件和文件info 634

26.2.11 过程 636

26.3 tk工具箱 637

26.3.1 窗口组件概述 637

26.3.2 窗口组件的创建 638

26.3.3 窗口组件选项 638

26.4 tcl/tk窗口组件程序设计实例 639

26.5 tcl/tk与xsetroot的接口 641

26.6 小结 645

第27章 Python程序设计 646

27.1 运行Python的准备 647

27.1.1 Python的安装 647

27.1.2 Python环境变量的设置 648

27.2 Python命令行解释程序 649

27.2.1 将命令行解释程序用作计算器 649

27.3 Python程序 651

27.3.1 命令行参数和环境变量 652

27.4 控制语句 653

27.4.1 if语句 653

27.4.2 while循环 655

27.4.3 for循环 657

27.5 列表和range()函数 657

27.5.1 创建带有字符串的数据列表 658

27.5.2 包含测试 659

27.5.3 跨越相邻区域的列表 660

27.5.4 了解元组 661

27.6 字典 662

27.6.1 创建含有一个元素的字典 662

27.7 控制台I/O 663

27.8 文件I/O 665

27.8.1 文件输出 665

27.8.2 文件输入 666

27.8.3 文件I/O示例 667

27.9 函数和模块 668

27.9.1 模块 669

27.10.1 字符串 670

27.10 字符串和正则表达式 670

27.10.2 正则表达式 673

27.10.3 字符串和正则表达式示例 677

27.11类 678

27.11.1 类的定义及实例化 679

27.11.2 封装及私有标识符 679

27.11.3 继承 682

27.12 Python的其他功能 683

27.13 小结 684

第28章 Scheme和Expect程序设计 685

28.1 MzScheme的安装 686

28.2 Scheme的运行 688

28.3 Scheme脚本编程 688

28.4 命令行参数的使用 689

28.5.2 数字 690

28.5 可用的数据类型 690

28.5.1 布尔值 690

28.5.3 字符 691

28.5.4 符号 693

28.5.5 变量 693

28.5.6 字符串 695

28.5.7 向量 697

28.6 条件语句的实现 698

28.6.1 if语句 698

28.6.2 unless语句 698

28.7.1 文件的读操作 699

28.7.2 创建文件 699

28.8 Echo示例 699

28.7 文件的输入和输出 699

28.6.3 when语句 699

28.9 Expect 700

28.10 Expect的安装 700

28.11 命令行开关 701

28.11.1 send 701

28.11.2 expect 702

28.11.3 spawm 703

28.11.4 interact 703

28.11.5 脚本示例--Netscape下载 704

28.12 小结 706

第5部分 Linux应用 708

第29章 工程的综合应用:make和autoconf 708

20.1 使用make编译 708

29.1.2 make的其他命令行操作 709

29.1.1 生成目标 709

29.1.3 Makefile的格式 710

29.2 Makefile的高级应用 712

29.2.1 make的变量 712

29.2.2 分开源文件目录和目标文件目录 712

29.2.3 自动变量 713

29.2.4 使用模式和隐含规则 714

29.2.5 使用虚拟目标 715

29.3 make的内部函数 716

29.3.1 操作文件名的函数 716

29.3.2 操作字符串的函数 716

29.5 make应用于其他工程 717

29.5.1 make应用到C和C++ 717

29.4 自动生成依赖文件 717

29.5.2 make应用到网站 718

29.5.3 make应用到Java 718

29.6 make更多的文档信息 718

29.7 使用autoconf 719

29.8 小结 719

第30章 分布式工程管理 720

30.1 CVS 720

30.1.1 安装 721

30.1.2 配置 722

30.1.3 创建工程 723

30.1.4 设置环境变量 723

30.1.5 导入当前文件 724

30.1.6 修改工程 724

30.1.7 多开发人员支持 725

30.2 修正发行版中的错误 729

30.2.1 发布稳定版本 729

30.2.2 添加和删除文件 731

30.2.3 CVS小结 731

30.3 Bugzilla 732

30.3.1 安装 732

30.3.2 使用Bugzilla 735

30.4 Debian Bug Tracking System 736

30.4.1 安装Bug Tracking System 736

30.4.2 报告故障 738

30.4.3 执行伪头标 739

30.4.5 Debian Bug Tracking System小结 740

30.4.4 接收故障 740

30.5 Jitterbug 741

30.5.1 安装Jitterbug 741

30.5.2 使用Jitterbug 744

30.6 Doozer 745

30.6.1 Doozer小结 746

30.7 小结 747

第6部分 附录 749

附录A 安装Debian Linux 749

A.1 为安装Linux准备计算机 749

A.1.1 理解硬盘分区 750

A.1.2 对硬盘分区 750

A.1.3 分区实现 750

A.1.4 了解引导过程 752

A.2.1 Linux所需的分区 753

A.2 硬盘分区 753

A.2.2 分区大小 754

A.2.3 改变分区规划 754

A.3 引导Linux 756

A.3.1 制作引导盘 757

A.3.2 引导选项 758

A.4 安装系统 758

A.4.1 第一次引导 758

A.4.2 第二次引导 761

A.5 使用dselect来安装应用程序 761

A.5.4 安装所选软件包 762

A.5.5 配置安装的软件包 762

A.5.3 选择用来安装的软件包 762

A.5.1 选择访问方法 762

A.6 多操作系统引导 763

A.7 疑难解答 765

A.7.1 为什么不能从Linux分区引导 765

A.7.2 如果第二次引导失败 766

A.7.3 引导盘问题 766

A.7.4 使用选项引导内核 767

A.7.5 当其他方式失败时,获取软件包 767

A.8 联机资源 767

A.9 小结 768

附录B 联机参考资料 769

B.1 Web站点 769

B.1.1 第1章--Debian Linux初步 769

B.1.2 第3章--X Window System环境 769

B.1.8 第15章--高级系统管理 770

B.1.7 第14章--灾难恢复 770

B.1.9 第16章--TCP/IP联网基础 770

B.1.4 第8章--功能强大的脚本编程工具 770

B.1.5 第9章--正则表达式 770

B.1.3 第4章--用户应用程序 770

B.1.6 第11章--管理基础 770

B.1.10 第17章--信息服务器 771

B.1.11 第18章--使用Samba与Microsoft网络交互 771

B.1.12 第19章--高级网络管理工具 771

B.1.13 第20章--安全问题概观 771

B.1.14 第23章--加密 771

B.2.3 第18章--使用Samba与Microsoft网络交互 772

B.2.6 第23章--加密 772

B.2.5 第20章--安全问题概观 772

B.2.4 第19章--高级网络管理工具 772

B.2.2 第16章--TCP/IP联网基础 772

B.2.1 第8章--功能强大的脚本编程工具 772

B.2 新闻组 772

B.1.15 第25章--Java程序设计 772

B.2.7 第25章--Java程序设计 773

B.3 电子邮件列表 773

B.3.1 第1章--Debian Linux初步 773

B.3.2 第18章--使用Samba与Microsoft网络交互 773

B.3.3 第20章--安全问题概观 773

B.3.4 第23章--加密 773

B.3.5 第25章--Java程序设计 774

附录C DFSG兼容许可证 775

C.1 GNU通用公共许可证(GPL) 775

C.2 GNU次通用公共许可证(LGPL) 780

C.3 BSD许可证 787

D.1.1 SPI对OSI--开放源代码的商标 788

附录D 开放源代码许可证 788

D.1 什么是开放源代码软件 788

D.1.2 DFSG和OSD 789

D.2 重要问题:解释软件许可证 793

D.3 GNU GPL 794

D.4 GNU LGPL 794

D.5 BSD 794

D.6 Artistic许可证 795

D.6.1 完整文本 795

D.7 商业开放源代码许可证的兴起 797

D.7.1 Apple的APSL 797

D.7.2 Troll Tech的QPL 797

D.9 参考资料和其他读物 798

D.8 其他开放源代码许可证 798

附录E 内核配置选项 799

E.1 代码成熟等级选项 799

E.2 处理器类型和特征 800

E.2.1 SMP和MTRR 800

E.3 可加载模块支持 801

E.4 常规设置 801

E.4.1 网络支持 801

E.4.2 BSD记账 802

E.4.3 SysV IPC(DosEMu) 802

E.4.4 sysctl支持 802

E.4.5 支持Misc二进制文件 803

E.4.6 并口Parports 804

E.4.8 看门狗支持 805

E.4.7 APM支持 805

E.6 块设备 806

E.6.1 软盘驱动程序 806

E.6.2 高级IDE支持 807

E.6.3 回送磁盘设备 808

E.6.4 网络块设备 808

E.6.5 多个设备和软件RAID 808

E.6.6 paride和parport 808

E.7 联网选项 809

E.7.1 内核网络链接套接字口 809

E.7.2 网络防火墙 809

E.7.3 设置TCP/IP防火墙 810

E.7.4 优化成路由器 810

E.7.5 IP隧道传输 810

E.7.6 Web站点管理员和IP别名 811

E.7.7 IPX和AppleTalk支持 812

E.7.8 企业网和X.25支持 812

E.7.9 协调高速接口和慢速CPU 812

E.8 Qos和公平排队 812

E.9 SCSI支持 813

E.10 网络设备支持 813

E.10.1 虚设网络设备 813

E.10.2 EQL 813

E.10.3 PLIP、PPP和SLIP拨号网络支持 813

E.11 业余广播与无线支持 814

E.12 IrDA子系统和红外端口设备驱动程序 814

E.13 ISDN子系统 814

E.15.3 Unix98 PTY 815

E.15.2 串口 815

E.15.4 并口打印机 815

E.14 老式CD-ROM驱动程序(非SCSI和IDE) 815

E.15 字符设备 815

E.15.1 终端和控制台 815

E.15.5 鼠标 816

E.15.6 看门狗、NVARM和RTC设备 816

E.15.7 双向交谈语音合成器 816

E.16 针对Linux的视频设备 816

E.17 游戏杆支持 816

E.18 Ftape 软磁带设备驱动程序 817

E.19 文件系统 817

E.19.1 MS-DOS和VFAT(Windows)文件系统 817

E.19.2 ISO 9660、UDF和DVD支持 817

E.19.5 NFS 818

E.19.6 SMB(Windows共享)和NCP 818

E.19.3 网络文件系统 818

E.19.4 CODA分布式文件系统 818

E.20 分区类型 819

E.21 母语支持 819

E.22 控制台驱动程序 819

E.22.1 帧缓冲区支持 819

E.23 声音 820

E.24 其他低级驱动程序 821

E.25 内核控制 821

E.26 加载/保存配置 822