微信扫一扫,移动浏览光盘
简介
《深入解析Ubuntu操作系统》全面介绍了流行的Linux发行版,Ubuntur windows用户Mac用户和Linux爱好者纷纷转向使用ubuntu这个用户友好、易f使用的Linux发行版。《深入解析Ubuntu操作系统》提供了有关安装、使用以及管理ubuntu的详细内容。您将在《深入解析Ubuntu操作系统》中学习如何搭建工作站或服务器,并且可以在《深入解析Ubuntu操作系统》中看到有关Ubuntu易于使用的桌面和生产软件的所有细节。
《深入解析Ubuntu操作系统》包含了不同层面的内容:从日常工作所需的软件(如OpenOffice.org办公套件),到如何配置Linux桌面,使其在使用多种打印机、shell脚本等的情况下平滑运行。
目录
第Ⅰ部分 安装与配置
第1章 Ubuntu概述 3
1.1 什么是Ubuntu 5
1.1.1 Ubuntu内部 5
1.1.2 Ubuntu的安装特点 7
1.1.3 Ubuntu文件系统的特点 8
1.2 Ubuntu的商业应用 9
1.3 Ubuntu的个人应用 10
1.4 64位Ubuntu 11
1.5 基于PPC平台的Ubuntu 11
1.6 基于双核处理器的Ubuntu 11
1.7 充分利用Ubuntu与Linux的文档 11
1.8 Ubuntu开发者与文档 13
1.9 阅读参考 13
第2章 安装Ubuntu前的准备 15
2.1 计划Ubuntu的部署方案 16
2.1.1 商业部署需要考虑的因素 16
2.1.2 系统部署需要考虑的因素 17
2.1.3 用户因素 18
2.1.4 预部署计划的核对表 18
2.1.5 安装计划 20
2.2 硬件需求 20
2.2.1 安装Ubuntu的最低硬件配置 21
2.2.2 在遗留的设备上安装Ubuntu 21
2.2.3 为Ubuntu安装分配硬盘空间 22
2.2.4 检查硬件的兼容性 22
2.2.5 为潜在的硬件问题做准备 23
2.2.6 准备并使用硬件列表 26
2.3 安装过程的准备 30
2.4 安装前与安装过程中的硬盘分区操作 31
2.4.1 选择分区方案 33
2.4.2 将Linux文件系统安排到各个分区上 33
2.5 使用Ubuntu的kickstart安装方式 34
2.6 阅读参考 37
第3章 安装Ubuntu 39
3.1 开始安装前的准备 39
3.1.1 检查硬件规格 40
3.1.2 安装选项 40
3.1.3 计划分区策略 40
3.1.4 引导程序 41
3.1.5 本地光盘安装 41
3.2 逐步安装 42
3.2.1 开始安装 42
3.2.2 首次更新 49
3.3 关机 50
3.4 阅读参考 50
第4章 安装后的配置 53
4.1 安装后配置问题的故障诊断 53
4.2 sudo命令 55
4.3 首次更新 59
4.4 配置软件源 58
4.5 安装显卡驱动 59
4.6 更改Ubuntu的桌面风格 60
4.6.1 更改桌面背景 60
4.6.2 更改颜色 61
4.6.3 更改系统字体 62
4.7 首选行为 63
4.7.1 首选应用程序 63
4.7.2 Removable Drives and Media 64
4.8 输入设备 65
4.8.1 键盘快捷键 65
4.8.2 键盘布局 65
4.8.3 鼠标 66
4.9 检测与配置调制解调器 67
4.9.1 配置串口调制解调器 67
4.9.2 为笔记本电脑配置WinModem 68
4.10 配置Ubuntu中的电源管理 68
4.11 重设日期和时间 69
4.11.1 使用date命令 69
4.11.2 使用hwclock命令 70
4.11.3 更改时间和日期 70
4.12 管理PCMCIA 71
4.12.1 使用PCMCIA 71
4.12.2 控制PCMCIA服务 72
4.13 配置与使用CD. DVD和CD-RW光驱 73
4.14 配置无线网络 75
4.15 配置Firestarter 76
4.16 阅读参考 76
第5章 Ubuntu初步 79
5.1 使用Linux文件系统 80
5.1.1 查看Linux文件系统 81
5.1.2 使用/bin和/sbin目录下的基本命令 83
5.1.3 在/boot目录和/dev目录中存储引导的内核和查看存储设备 84
5.1.4 使用和编辑/etc目录下的文件 84
5.1.5 保护用户目录/home中的内容 85
5.1.6 使用/proc目录的内容与内核进行交互 85
5.1.7 使用/usr目录下的共享数据 87
5.1.8 在/tmp目录下存储临时文件 87
5.1.9 访问/var目录下的可变数据文件 87
5.2 登录与使用Linux 87
5.2.1 基于文本的控制台登录 88
5.2.2 使用虚拟控制台 88
5.2.3 在Linux控制台会话中使用简单的键盘和鼠标技巧 89
5.2.4 退出 90
5.2.5 从远程计算机登录与退出 90
5.3 修改用户信息 92
5.4 阅读文档 93
5.4.1 使用手册页 94
5.4.2 查找和阅读软件包文档 95
5.5 使用shell 95
5.5.1 使用环境变量 97
5.5.2 使用shell导航和搜索 99
5.5.3 使用shell管理文件 100
5.5.4 通过shell压缩和解压的文件 101
5.6 使用文本编辑器 102
5.6.1 使用vi 103
5.6.2 使用emacs 104
5.7 使用权限 105
5.7.1 指派权限 106
5.7.2 目录权限 107
5.7.3 理解设置用户ID和设置组ID权限 109
5.8 以root用户身份工作 110
5.8.1 创建用户 111
5.8.2 删除用户 112
5.8.3 关闭系统 112
5.8.4 重启系统 113
5.9 阅读参考 114
第6章 X Window系统 117
6.1 X的基本概念 118
6.2 使用X11R7 119
6.2.1 xorg.conf文件的元素 120
6.2.2 配置X 124
6.3 启动X 125
6.3.1 使用显示管理器 125
6.3.2 通过使用startx从控制台启动X 128
6.4 选择和使用窗口管理器 129
6.5 GNOME和KDE桌面环境 130
6.5.1 GNU网络对象模型环境GNOME) 130
6.5.2 K桌面环境(KD) 131
6.5.3 Xfce:备选的轻量级桌面环境 132
6.6 阅读参考 133
第7章 管理软件 135
7.1 使用Add/Remove Applications管理软件 135
7.2 使用Synaptic管理软件 136
7.3 保持最新 138
7.4 使用命令行 139
7.4.1 日常使用 140
7.4.2 查找软件 142
7.5 从源代码编译软件 143
7.6 阅读参考 145
第8章 Internet应用:Web冲浪. 写邮件. 读新闻 147
8.1 选择Web浏览器 147
8.1.1 Mozilla Firefox 148
8.1.2 Mozilla Suite 149
8.1.3 Epiphany 150
8.1.4 Konqueror 150
8.2 选择电子邮件客户端 151
8.2.1 Evolution 152
8.2.2 Mozilla Thunderbird 155
8.2.3 Balsa 155
8.2.4 KMail 155
8.2.5 Mozilla Mail 156
8.2.6 mail应用程序 158
8.2.7 mutt 159
8.2.8 其他邮件客户端 161
8.3 网络新闻概述 161
8.4 选择新闻阅读器 162
8.4.1 slrn新闻客户端 162
8.4.2 Pan新闻客户端 163
8.4.3 Mozilla新闻客户端 164
8.4.4 Thunderbird新闻客户端 166
8.5 Internet Relay Chat 166
8.6 GAIM IM 168
8.7 使用Ekiga进行视频会议 168
8.8 阅读参考 170
第9章 生产应用程序 171
9.1 Ubuntu中的办公套件 172
9.1.1 使用OpenOffice.org 173
9.1.2 使用OpenOffice.org Writer 176
9.1.3 使用OpenOffice.org Calc 178
9.1.4 使用GNOME Office 182
9.1.5 使用KOffice 186
9.2 为Microsoft Windows编写的生产应用程序 189
9.3 阅读参考 189
第10章 多媒体应用 191
10.1 在Ubuntu中烧录CD和DVD 192
10.1.1 从命令行创建CD 193
10.1.2 从命令行创建DVD 194
10.1.3 使用Ubuntu的图形界面客户端创建CD和DVD 196
10.2 声音和音乐 200
10.2.1 声卡 200
10.2.2 录音 200
10.2.3 声音格式 201
10.2.4 翻录音乐 202
10.2.5 音乐播放器 204
10.2.6 流式音频 205
10.3 观看电视和视频 206
10.3.1 电视和视频硬件 206
10.3.2 视频格式 208
10.3.3 在Linux中观看视频 209
10.3.4 使用Linux观看电视 209
10.3.5 个人录像机 210
10.3.6 DVD和视频播放器 211
10.4 阅读参考 212
第11章 图形处理 215
11.1 在Ubuntu中使用数码相机 217
11.1.1 网络摄像头 217
11.1.2 手持式数码相机 218
11.1.3 使用F-Spot 219
11.2 在Ubuntu中使用扫描仪 221
11.2.1 使用图形格式 222
11.2.2 捕获屏幕图像 224
11.3 阅读参考 225
第12章 Ubuntu打印 227
12.1 Ubuntu打印概述 227
12.2 配置和管理打印服务 229
12.2.1 快速完成基于GUI的打印机配置 230
12.2.2 管理打印服务 230
12.3 创建和配置本地打印机 232
12.3.1 创建打印队列 232
12.3.2 编辑打印机设置 235
12.4 阅读参考 236
第13章 游戏 239
13.1 Linux游戏 239
13.1.1 安装专有显卡驱动程序 240
13.1.2 安装DOOM 3 242
13.1.3 安装Unreal Tournament 2004 243
13.1.4 安装Quake 4 244
13.1.5 安装Wolfenstein: Enemy Territory 244
13.1.6 安装Battle for Wesnoth 245
13.1.7 使用Cedega玩Windows游戏 246
13.2 阅读参考 246
第Ⅱ部分 系统管理
第14章 管理用户 249
14.1 用户账户 249
14.1.1 用户ID和组ID 251
14.1.2 文件访问权限 251
14.2 用户组管理 252
14.3 用户管理 256
14.3.1 用户管理工具 256
14.3.2 添加新用户 257
14.3.3 监视用户在系统上的行为 258
14.4 口令管理 259
14.4.1 系统口令策略 259
14.4.2 口令文件 259
14.4.3 shadow口令 261
14.4.4 管理用户口令的安全性 263
14.4.5 用户口令的批量更改 263
14.5 权限提升 264
14.5.1 用su命令临时改变用户身份 264
14.5.2 适时地用sudo命令获取root权限 266
14.5.3 用受限shell控制用户权限 268
14.6 用户登录过程 268
14.7 磁盘配额 269
14.7.1 使用磁盘配额 270
14.7.2 手动配置磁盘配额 270
14.8 阅读参考 272
第15章 自动执行任务 273
15.1 自启动服务 274
15.1.1 开始启动加载过程 274
15.1.2 加载Linux内核 275
15.1.3 系统服务和运行级别 276
15.1.4 运行级别的定义 276
15.1.5 启动到默认运行级别 277
15.1.6 用GRUB启动到非默认的运行级别 278
15.1.7 理解init脚本以及初始化的最后步骤 278
15.1.8 用管理工具控制自启动服务 279
15.1.9 改变运行级别 280
15.1.10 利用运行级别排除故障 280
15.2 手动启动和停止服务 281
15.3 计划任务 282
15.3.1 使用at和batch命令制定计划任务 282
15.3.2 使用cron命令重复执行任务 284
15.4 shell控制基础 287
15.4.1 shell命令行 287
15.4.2 在shell中进行模式匹配 289
15.4.3 输入输出的重定向 290
15.4.4 管道数据 290
15.4.5 后台处理 291
15.5 编写和执行shell脚本 291
15.5.1 运行shell脚本程序 293
15.5.2 系统启动时自动加载shell脚本 294
15.5.3 使用指定的命令行解释器运行shell脚本 294
15.5.4 在脚本中使用变量 295
15.5.5 给变量赋值 296
15.5.6 获取变量的值 296
15.5.7 位置参数 296
15.5.8 位置参数实例 297
15.5.9 使用位置参数从命令行获取变量 298
15.5.10 使用简单的脚本自动执行任务 298
15.5.11 内置变量 300
15.5.12 特殊字符 301
15.5.13 用双引号处理字符串中含有空格的变量 301
15.5.14 用单引号保留未被扩展的变量 302
15.5.15 使用反斜杠作为逃逸符号 303
15.5.16 使用backtick符号 303
15.5.17 pdksh和bash中的表达式比较 304
15.5.18 tcsh中的表达式比较 308
15.5.19 for语句 312
15.5.20 while语句 313
15.5.21 until语句 315
15.5.22 repeat语句(tcsh) 316
15.5.23 select语句(pdksh) 316
15.5.24 shift语句 317
15.5.25 if语句 317
15.5.26 case语句 318
15.5.27 break和exit语句 320
15.5.28 在shell脚本中使用函数 320
15.6 阅读参考 321
第16章 系统资源 323
16.1 系统监视工具 323
16.1.1 控制台环境下的系统监视 323
16.1.2 使用kill命令控制进程 325
16.1.3 进程优先级调度与控制 326
16.1.4 使用free命令显示内存使用情况 327
16.1.5 磁盘配额 328
16.1.6 图形界面的进程和系统管理工具 328
16.1.7 KDE桌面环境的进程和系统监视工具 330
16.2 阅读参考 332
第17章 备份. 还原和恢复 333
17.1 选择合适的备份策略 333
17.1.1 为什么会丢失数据 334
17.1.2 备份需求与所需资源的评估 334
17.1.3 如何评价备份策略的好坏 336
17.1.4 做出选择 339
17.2 选择备份硬件和介质 339
17.2.1 可移动存储介质 339
17.2.2 网络存储 341
17.2.3 磁带驱动器备份 341
17.3 使用备份软件 342
17.3.1 tar:最基本的备份工具 342
17.3.2 GNOME中的File Roller软件 344
17.3.3 KDE中的归档工具(KDE ark和kdat) 345
17.3.4 使用dd命令归档 346
17.3.5 使用Amanda备份程序 346
17.3.6 可供选择的其他备份软件 347
17.4 复制文件 347
17.4.1 用tar命令复制文件 348
17.4.2 压缩. 加密和发送tar数据流 348
17.4.3 用cp命令复制文件 349
17.4.4 用mc命令复制文件 349
17.4.5 用scp命令复制文件 350
17.4.6 用rsync命令复制文件 351
17.5 恢复被删除的文件 353
17.5.1 在遇到未知的文件系统错误时使用-S选项重新格式化 353
17.5.2 用mc命令恢复被删除的文件 354
17.6 系统修复 355
17.6.1 Ubuntu系统修复盘 355
17.6.2 备份和恢复主引导记录 355
17.6.3 从普通的可引导软盘启动系统 356
17.6.4 使用GRUB可引导软盘 356
17.6.5 使用系统恢复功能 357
17.7 阅读参考 357
第18章 网络连接 359
18.1 基础:localhost接口 359
18.1.1 检查loopback接口是否可用 360
18.1.2 手动配置loopback接口 360
18.2 TCP/IP网络 361
18.2.1 TCP/IP地址 362
18.2.2 在Ubuntu中使用IP伪装技术 364
18.2.3 端口 364
18.3 网络结构 365
18.3.1 子网划分 365
18.3.2 子网掩码 366
18.3.3 广播. 单播和多播地址 366
18.4 网络硬件设备 367
18.4.1 网卡 367
18.4.2 网线 369
18.4.3 集线器和交换机 370
18.4.4 路由器和网桥 371
18.4.5 初始化新的网络硬件 371
18.5 使用网络配置工具 373
18.5.1 在命令行中配置网络接口 374
18.5.2 网络配置文件 378
18.5.3 使用图形界面配置工具 380
18.6 动态主机配置协议 382
18.6.1 DHCP工作原理 382
18.6.2 在安装和启动时激活DHCP 383
18.6.3 DHCP软件的安装和配置 384
18.6.4 使用DHCP配置网络主机 385
18.6.5 DHCP的其他用途 387
18.7 无线网络 387
18.7.1 Ubuntu对无线网络的支持.. 387
18.7.2 无线网络的优势 388
18.7.3 从现有的无线网络协议中选择合适的协议 389
18.8 连接Internet 389
18.9 通用的配置信息 390
18.10 配置数字用户线路访问Internet 391
18.10.1 理解以太网上的点对点协议 392
18.10.2 手动配置PPPoE连接 392
18.11 配置拨号Internet访问 393
18.12 排除连接故障 396
18.13 阅读参考 398
18.13.1 通用 398
18.13.2 DHCP 398
18.13.3 无线网络 398
18.13.4 书籍 398
第19章 使用ssh和telnet进行远程访问 399
19.1 架设Telnet服务器 399
19.2 Telnet与SSH的对比 400
19.3 架设SSH服务器 400
19.4 SSH工具 401
19.4.1 使用scp在计算机之间复制单个文件 401
19.4.2 使用sftp在计算机之间复制多个文件 402
19.4.3 使用ssh-keygen启动Key-based登录方式 403
19.5 远程X图形环境 404
19.5.1 XDMCP 404
19.5.2 VNC 405
19.6 阅读参考 406
第Ⅲ部分 服务器应用
第20章 Apache Web服务器管理 409
20.1 Apache Web服务器简介 409
20.2 安装Apache服务器 411
20.2.1 使用APT安装 411
20.2.2 亲自从源代码构建 412
20.3 启动与停止Apache 414
20.3.1 手动启动Apache服务器 415
20.3.2 使用/etc/init.d/apache2 416
20.4 设置运行时服务器配置 417
20.4.1 运行时配置指令 417
20.4.2 编辑httpd.conf 418
20.4.3 Apache多处理模块 420
20.4.4 使用.htaccess配置文件 421
20.5 文件系统认证与访问控制 423
20.5.1 使用allow和deny限制访问 423
20.5.2 认证 424
20.5.3 关于访问控制的结束语 426
20.6 Apache模块 427
20.6.1 mod_access 427
20.6.2 mod_alias 427
20.6.3 mod_asis 428
20.6.4 mod_auth 428
20.6.5 mod_auth_anon 428
20.6.6 mod_auth_dbm 428
20.6.7 mod_auth_digest 428
20.6.8 mod_autoindex 429
20.6.9 mod_cgi 429
20.6.10 mod_dir和mod_env 429
20.6.11 mod_expires 429
20.6.12 mod_headers 429
20.6.13 mod_include 429
20.6.14 mod_info和mod_log_config 430
20.6.15 mod_mime和mod_mime_magic 430
20.6.16 mod_negotiation 430
20.6.17 mod_proxy 430
20.6.18 mod_rewrite 430
20.6.19 mod_setenvif 430
20.6.20 mod_speling 430
20.6.21 mod_status 431
20.6.22 mod_ssl 431
20.6.23 mod_unique_id 431
20.6.24 mod_userdir 431
20.6.25 mod_usertrack 431
20.6.26 mod_vhost_alias 431
20.7 虚拟主机 431
20.7.1 基于地址的虚拟主机 432
20.7.2 基于名字的虚拟主机 432
20.8 日志 433
20.9 动态内容 435
20.9.1 CGI 435
20.9.2 SSI 436
20.9.3 基本的SSI指令 437
20.9.4 流程控制 440
20.10 可在Ubuntu中使用的其他Web服务器 441
20.10.1 Sun ONE Web服务器 441
20.10.2 Zope 442
20.10.3 Zeus Web服务器 442
20.11 阅读参考 442
第21章 管理数据库服务 445
21.1 简要回顾数据库的基本概念 446
21.1.1 关系数据库的工作方式 447
21.1.2 了解SQL的基础知识 448
21.1.3 创建表 449
21.1.4 向表中插入数据 450
21.1.5 从数据库中检索数据 451
21.2 选择数据库:MySQL和PostgreSQL 452
21.2.1 速度 453
21.2.2 数据锁定 453
21.2.3 在事务处理中用来保护数据完整性的ACID兼容性 454
21.2.4 SQL子查询 454
21.2.5 过程语言与触发器 454
21.3 配置MySQL 455
21.3.1 为MySQL root用户设置口令 456
21.3.2 在MySQL中创建数据库 456
21.3.3 在MySQL中授予与撤销特权 456
21.4 配置PostgreSQL 458
21.4.1 在PostgreSQL中初始化数据目录 458
21.4.2 在PostgreSQL中创建数据库 460
21.4.3 在PostgreSQL中创建数据库用户 460
21.4.4 在PostgreSQL中删除数据库用户 461
21.4.5 在PostgreSQL中授予和撤销特权 461
21.5 数据库客户端 462
21.5.1 通过SSH访问数据库 462
21.5.2 通过本地GUI客户端访问数据库 464
21.5.3 通过Web访问数据库 464
21.5.4 MySQL命令行客户端 465
21.5.5 PostgreSQL命令行客户端 466
21.5.6 图形界面的客户端 467
21.6 阅读参考 467
第22章 文件和打印 469
22.1 使用网络文件系统 470
22.1.1 安装和启动/停止NFS 470
22.1.2 NFS服务器配置 470
22.1.3 NFS客户端配置 472
22.2 让Samba工作 473
22.2.1 用/etc/samba/smb.conf手动配置Samba 474
22.2.2 使用testparm命令测试Samba 476
22.2.3 启动smbd守护进程 477
22.2.4 挂载Samba共享 478
22.2.5 使用SWAT配置Samba 478
22.3 使用Ubuntu进行网络和远程打印 482
22.3.1 创建网络打印机 483
22.3.2 在局域网上进行网络打印 483
22.3.3 任务消息块打印 484
22.4 使用通用UNIX打印系统GUI 485
22.5 避免打印机支持问题 489
22.5.1 多功能一体机(打印/传真/扫描)设备 489
22.5.2 使用USB和老式打印机 489
22.6 阅读参考 490
第23章 FTP远程文件服务 491
23.1 使用FTP客户端 491
23.1.1 FTP客户端界面 492
23.1.2 使用基于文本的FTP客户端界面 492
23.1.3 使用图形界面FTP客户端 499
23.2 FTP服务器 501
23.2.1 选择认证的或匿名服务器 502
23.2.2 Ubuntu的FTP服务器包 502
23.2.3 其他FTP服务器 502
23.3 安装FTP软件 503
23.4 FTP用户 504
23.5 为wu-ftpd配置inetd 505
23.6 配置VSFTP服务器 506
23.6.1 控制匿名访问 506
23.6.2 其他的vsftpd服务器配置文件 507
23.6.3 默认的vsftpd行为 507
23.7 配置Wu-FTPd服务器 509
23.8 使用ftpaccess文件中的命令对wu-ftpd进行配置 509
23.8.1 配置访问控制 510
23.8.2 配置用户信息 512
23.8.3 配置系统日志 516
23.8.4 配置权限控制 517
23.8.5 配置定向到cdpath的命令 519
23.8.6 shutdown文件的结构 520
23.9 配置FTP服务器的文件转换操作 520
23.9.1 剥离前缀 521
23.9.2 剥离后缀 521
23.9.3 添加前缀 521
23.9.4 添加后缀 521
23.9.5 外部命令 521
23.9.6 类型 522
23.9.7 选项 522
23.9.8 描述 522
23.9.9 一个转换操作的例子 522
23.10 使用ftphosts文件中的命令允许或禁止FTP 服务器连接 523
23.11 服务器管理 524
23.11.1 显示关于连接用户的信息 524
23.11.2 计算连接的数目 525
23.11.3 使用/usr/sbin/ftpshut安排FTP服务器停机时间 525
23.11.4 使用/var/log/xferlog查看服务器事务的日志 527
23.12 阅读参考 529
第24章 处理电子邮件 531
24.1 电子邮件是如何发送和接收的 531
24.1.1 邮件传输代理 532
24.1.2 选择一个MTA 534
24.1.3 邮件分发代理 534
24.1.4 邮件用户代理 535
24.2 基本的Postfix配置和操作 535
24.2.1 配置伪装 536
24.2.2 使用智能主机 537
24.2.3 设置消息传递时间间隔 537
24.2.4 邮件中继 538
24.2.5 转发带别名的电子邮件 538
24.3 使用Fetchmail获取邮件 539
24.3.1 安装Fetchmail 539
24.3.2 配置Fetchmail 539
24.4 选择邮件分发代理 542
24.4.1 Procmail 542
24.4.2 Spamassassin 543
24.4.3 Squirrelmail 543
24.4.4 病毒扫描器 543
24.5 邮件守护程序 544
24.6 Microsoft Exchange Server的替代者 544
24.6.1 Microsoft Exchange Server/Outlook客户端 544
24.6.2 CommuniGate Pro 545
24.6.3 Oracle协作套件 545
24.6.4 Bynari 545
24.6.5 Open-Xchange 545
24.6.6 phpgroupware 545
24.6.7 PHProjekt 545
24.6.8 Horde 546
24.7 阅读参考 546
24.7.1 Web资源 546
24.7.2 参考书目 547
第25章 代理与反向代理 549
25.1 什么是代理服务器 549
25.2 安装Squid 549
25.3 配置客户端 550
25.4 访问控制列表 551
25.5 指定客户端IP地址 555
25.6 配置示例 556
25.7 阅读参考 557
第26章 LDAP 559
26.1 配置LDAP服务器 560
26.2 配置客户端 564
26.2.1 Evolution 564
26.2.2 Thunderbird 564
26.3 管理 566
26.4 阅读参考 566
第Ⅳ部分 Linux编程
第27章 使用Perl 569
27.1 在Linux中使用Perl 569
27.1.1 Perl的版本 570
27.1.2 一个简单的Perl程序 570
27.2 Perl中的变量和数据结构 572
27.2.1 Perl的变量类型 572
27.2.2 特殊变量 573
27.3 操作符 573
27.3.1 比较操作符 574
27.3.2 复合操作符 574
27.3.3 算术操作符 575
27.3.4 其他操作符 575
27.3.5 特殊字符串常量 576
27.4 条件语句:if/else和unless 577
27.4.1 if 577
27.4.2 unless 577
27.5 循环 578
27.5.1 for 578
27.5.2 foreach 578
27.5.3 while 579
27.5.4 until 579
27.5.5 last和next 579
27.5.6 do…while和do…until 580
27.6 正则表达式 580
27.7 访问shell 581
27.8 模块和CPAN 582
27.9 代码示例 582
27.9.1 发送电子邮件 582
27.9.2 清理日志 584
27.9.3 往新闻组发信 585
27.9.4 单行小程序 586
27.9.5 命令行处理 586
27.10 阅读参考 587
27.10.1 书目 587
27.10.2 新闻组 588
27.10.3 万维网 588
27.10.4 其他资源 589
第28章 使用Python 591
28.1 Linux中的Python 591
28.2 Python基础 592
28.2.1 数字 593
28.2.2 进一步讨论字符串 594
28.2.3 列表 596
28.2.4 字典 598
28.2.5 条件和循环 599
28.3 函数 601
28.4 面向对象 602
28.4.1 类和对象变量 602
28.4.2 构造函数和析构函数 603
28.4.3 类继承 604
28.4.4 多重继承 606
28.5 标准库和Vaults of Parnassus 606
28.6 阅读参考 607
第29章 编写PHP脚本 609
29.1 PHP入门 609
29.1.1 进入和退出PHP模式 610
29.1.2 变量 610
29.1.3 数组 612
29.1.4 常量 613
29.1.5 引用 613
29.1.6 注释 614
29.1.7 转义序列 614
29.1.8 变量替换 615
29.1.9 操作符 616
29.1.10 条件语句 618
29.1.11 特殊操作符 619
29.1.12 switch语句 620
29.1.13 循环 621
29.1.14 包含其他文件 623
29.2 基本函数 624
29.2.1 字符串 624
29.2.2 数组 627
29.2.3 文件 629
29.2.4 其他函数 630
29.3 处理HTML表格 634
29.4 数据库 634
29.5 阅读参考 636
第30章 Ubuntu中的C/C++ 编程工具 639
30.1 Linux中的C编程 639
30.1.1 C++编程 640
30.1.2 Linux C/C++编程入门 640
30.1.3 编程的步骤 641
30.2 C/C++语言的基本元素 641
30.3 Ubuntu中的C语言编程项目管理工具 642
30.3.1 使用make构建程序 642
30.3.2 使用autoconf工具配置代码 644
30.3.3 使用RCS和CVS管理软件项目 644
30.3.4 调试工具 645
30.4 使用GNU C编译器 646
30.5 一个简单的C程序 647
30.6 图形界面开发工具 648
30.6.1 使用KDevelop客户端 648
30.6.2 Trolltech的Qt Designer 649
30.6.3 GNOME中的开发工具Glade客户端 650
30.7 阅读参考 651
第Ⅴ部分 Ubuntu日常维护
第31章 保护您的机器 655
31.1 了解计算机攻击 655
31.2 评估机器的弱点 657
31.3 保护您的机器 658
31.3.1 保护无线网络 658
31.3.2 口令和物理安全 659
31.3.3 配置和使用Tripwire 659
31.3.4 设备 661
31.4 病毒 661
31.5 配置防火墙 662
31.6 构建一个灾难恢复计划 662
31.7 在Linux安全问题上要保持最新 663
31.8 阅读参考 664
第32章 性能调整 665
32.1 硬盘 665
32.1.1 使用BIOS和内核来调整磁盘驱动器 666
32.1.2 hdparm命令 666
32.1.3 文件系统调整 667
32.1.4 tune2fs命令 668
32.1.5 e2fsck命令 668
32.1.6 badblocks命令 669
32.1.7 禁止文件访问时间 669
32.2 内核 669
32.3 Apache 670
32.4 MySQL 671
32.4.1 衡量关键字缓冲区的使用 672
32.4.2 使用查询缓存 673
32.4.3 其他调整 675
32.4.4 查询优化 675
32.5 阅读参考 675
第33章 命令行高级班 677
33.1 为什么使用Shell 678
33.2 基本命令 679
33.2.1 使用cat输出文件的内容 680
33.2.2 使用cd改变目录 681
33.2.3 使用chmod修改文件访问权限 682
33.2.4 使用cp复制文件 683
33.2.5 使用du输出磁盘使用情况 683
33.2.6 通过使用find查找文件 684
33.2.7 使用grep在输入中查找字符串 686
33.2.8 使用less为输出翻页 687
33.2.9 使用ln在文件间创建链接 689
33.2.10 使用locate通过索引查找文件 690
33.2.11 使用ls命令列出当前目录下的文件 691
33.2.12 使用man阅读用户手册页 692
33.2.13 使用mkdir创建目录 693
33.2.14 使用mv移动文件 693
33.2.15 使用ps列出进程 693
33.2.16 使用rm删除文件和目录 694
33.2.17 使用tail输出文件的最后一行 694
33.2.18 使用top输出资源利用率 695
33.2.19 使用which输出命令的位置 696
33.3 将命令组合使用 696
33.4 多终端 698
33.5 阅读参考 700
第34章 高级APT 701
34.1 使用Aptitude 701
34.2 dpkg后端 702
34.3 配置APT 704
34.4 阅读参考 705
第35章 内核和模块管理 707
35.1 Linux内核 708
35.1.1 Linux源代码树 708
35.1.2 内核的类型 710
35.2 管理模块 711
35.3 何时进行重新编译 713
35.4 内核版本 714
35.5 获得内核源代码 714
35.6 为内核打补丁 715
35.7 编译内核 717
35.7.1 使用xconfig配置内核 721
35.7.2 创建一个初始的RAM磁盘映像 724
35.8 当发生故障时 724
35.8.1 编译时的错误 724
35.8.2 运行时错误. 启动加载器问题和内核oops 725
35.9 阅读参考 726
第Ⅵ部分 附录
附录A Ubuntu和Linux的Internet资源 729
A.1 Web站点和搜索引擎 730
A.2 Usenet新闻组 735
A.3 邮件列表 736
A.4 Internet Relay Chat 737
第1章 Ubuntu概述 3
1.1 什么是Ubuntu 5
1.1.1 Ubuntu内部 5
1.1.2 Ubuntu的安装特点 7
1.1.3 Ubuntu文件系统的特点 8
1.2 Ubuntu的商业应用 9
1.3 Ubuntu的个人应用 10
1.4 64位Ubuntu 11
1.5 基于PPC平台的Ubuntu 11
1.6 基于双核处理器的Ubuntu 11
1.7 充分利用Ubuntu与Linux的文档 11
1.8 Ubuntu开发者与文档 13
1.9 阅读参考 13
第2章 安装Ubuntu前的准备 15
2.1 计划Ubuntu的部署方案 16
2.1.1 商业部署需要考虑的因素 16
2.1.2 系统部署需要考虑的因素 17
2.1.3 用户因素 18
2.1.4 预部署计划的核对表 18
2.1.5 安装计划 20
2.2 硬件需求 20
2.2.1 安装Ubuntu的最低硬件配置 21
2.2.2 在遗留的设备上安装Ubuntu 21
2.2.3 为Ubuntu安装分配硬盘空间 22
2.2.4 检查硬件的兼容性 22
2.2.5 为潜在的硬件问题做准备 23
2.2.6 准备并使用硬件列表 26
2.3 安装过程的准备 30
2.4 安装前与安装过程中的硬盘分区操作 31
2.4.1 选择分区方案 33
2.4.2 将Linux文件系统安排到各个分区上 33
2.5 使用Ubuntu的kickstart安装方式 34
2.6 阅读参考 37
第3章 安装Ubuntu 39
3.1 开始安装前的准备 39
3.1.1 检查硬件规格 40
3.1.2 安装选项 40
3.1.3 计划分区策略 40
3.1.4 引导程序 41
3.1.5 本地光盘安装 41
3.2 逐步安装 42
3.2.1 开始安装 42
3.2.2 首次更新 49
3.3 关机 50
3.4 阅读参考 50
第4章 安装后的配置 53
4.1 安装后配置问题的故障诊断 53
4.2 sudo命令 55
4.3 首次更新 59
4.4 配置软件源 58
4.5 安装显卡驱动 59
4.6 更改Ubuntu的桌面风格 60
4.6.1 更改桌面背景 60
4.6.2 更改颜色 61
4.6.3 更改系统字体 62
4.7 首选行为 63
4.7.1 首选应用程序 63
4.7.2 Removable Drives and Media 64
4.8 输入设备 65
4.8.1 键盘快捷键 65
4.8.2 键盘布局 65
4.8.3 鼠标 66
4.9 检测与配置调制解调器 67
4.9.1 配置串口调制解调器 67
4.9.2 为笔记本电脑配置WinModem 68
4.10 配置Ubuntu中的电源管理 68
4.11 重设日期和时间 69
4.11.1 使用date命令 69
4.11.2 使用hwclock命令 70
4.11.3 更改时间和日期 70
4.12 管理PCMCIA 71
4.12.1 使用PCMCIA 71
4.12.2 控制PCMCIA服务 72
4.13 配置与使用CD. DVD和CD-RW光驱 73
4.14 配置无线网络 75
4.15 配置Firestarter 76
4.16 阅读参考 76
第5章 Ubuntu初步 79
5.1 使用Linux文件系统 80
5.1.1 查看Linux文件系统 81
5.1.2 使用/bin和/sbin目录下的基本命令 83
5.1.3 在/boot目录和/dev目录中存储引导的内核和查看存储设备 84
5.1.4 使用和编辑/etc目录下的文件 84
5.1.5 保护用户目录/home中的内容 85
5.1.6 使用/proc目录的内容与内核进行交互 85
5.1.7 使用/usr目录下的共享数据 87
5.1.8 在/tmp目录下存储临时文件 87
5.1.9 访问/var目录下的可变数据文件 87
5.2 登录与使用Linux 87
5.2.1 基于文本的控制台登录 88
5.2.2 使用虚拟控制台 88
5.2.3 在Linux控制台会话中使用简单的键盘和鼠标技巧 89
5.2.4 退出 90
5.2.5 从远程计算机登录与退出 90
5.3 修改用户信息 92
5.4 阅读文档 93
5.4.1 使用手册页 94
5.4.2 查找和阅读软件包文档 95
5.5 使用shell 95
5.5.1 使用环境变量 97
5.5.2 使用shell导航和搜索 99
5.5.3 使用shell管理文件 100
5.5.4 通过shell压缩和解压的文件 101
5.6 使用文本编辑器 102
5.6.1 使用vi 103
5.6.2 使用emacs 104
5.7 使用权限 105
5.7.1 指派权限 106
5.7.2 目录权限 107
5.7.3 理解设置用户ID和设置组ID权限 109
5.8 以root用户身份工作 110
5.8.1 创建用户 111
5.8.2 删除用户 112
5.8.3 关闭系统 112
5.8.4 重启系统 113
5.9 阅读参考 114
第6章 X Window系统 117
6.1 X的基本概念 118
6.2 使用X11R7 119
6.2.1 xorg.conf文件的元素 120
6.2.2 配置X 124
6.3 启动X 125
6.3.1 使用显示管理器 125
6.3.2 通过使用startx从控制台启动X 128
6.4 选择和使用窗口管理器 129
6.5 GNOME和KDE桌面环境 130
6.5.1 GNU网络对象模型环境GNOME) 130
6.5.2 K桌面环境(KD) 131
6.5.3 Xfce:备选的轻量级桌面环境 132
6.6 阅读参考 133
第7章 管理软件 135
7.1 使用Add/Remove Applications管理软件 135
7.2 使用Synaptic管理软件 136
7.3 保持最新 138
7.4 使用命令行 139
7.4.1 日常使用 140
7.4.2 查找软件 142
7.5 从源代码编译软件 143
7.6 阅读参考 145
第8章 Internet应用:Web冲浪. 写邮件. 读新闻 147
8.1 选择Web浏览器 147
8.1.1 Mozilla Firefox 148
8.1.2 Mozilla Suite 149
8.1.3 Epiphany 150
8.1.4 Konqueror 150
8.2 选择电子邮件客户端 151
8.2.1 Evolution 152
8.2.2 Mozilla Thunderbird 155
8.2.3 Balsa 155
8.2.4 KMail 155
8.2.5 Mozilla Mail 156
8.2.6 mail应用程序 158
8.2.7 mutt 159
8.2.8 其他邮件客户端 161
8.3 网络新闻概述 161
8.4 选择新闻阅读器 162
8.4.1 slrn新闻客户端 162
8.4.2 Pan新闻客户端 163
8.4.3 Mozilla新闻客户端 164
8.4.4 Thunderbird新闻客户端 166
8.5 Internet Relay Chat 166
8.6 GAIM IM 168
8.7 使用Ekiga进行视频会议 168
8.8 阅读参考 170
第9章 生产应用程序 171
9.1 Ubuntu中的办公套件 172
9.1.1 使用OpenOffice.org 173
9.1.2 使用OpenOffice.org Writer 176
9.1.3 使用OpenOffice.org Calc 178
9.1.4 使用GNOME Office 182
9.1.5 使用KOffice 186
9.2 为Microsoft Windows编写的生产应用程序 189
9.3 阅读参考 189
第10章 多媒体应用 191
10.1 在Ubuntu中烧录CD和DVD 192
10.1.1 从命令行创建CD 193
10.1.2 从命令行创建DVD 194
10.1.3 使用Ubuntu的图形界面客户端创建CD和DVD 196
10.2 声音和音乐 200
10.2.1 声卡 200
10.2.2 录音 200
10.2.3 声音格式 201
10.2.4 翻录音乐 202
10.2.5 音乐播放器 204
10.2.6 流式音频 205
10.3 观看电视和视频 206
10.3.1 电视和视频硬件 206
10.3.2 视频格式 208
10.3.3 在Linux中观看视频 209
10.3.4 使用Linux观看电视 209
10.3.5 个人录像机 210
10.3.6 DVD和视频播放器 211
10.4 阅读参考 212
第11章 图形处理 215
11.1 在Ubuntu中使用数码相机 217
11.1.1 网络摄像头 217
11.1.2 手持式数码相机 218
11.1.3 使用F-Spot 219
11.2 在Ubuntu中使用扫描仪 221
11.2.1 使用图形格式 222
11.2.2 捕获屏幕图像 224
11.3 阅读参考 225
第12章 Ubuntu打印 227
12.1 Ubuntu打印概述 227
12.2 配置和管理打印服务 229
12.2.1 快速完成基于GUI的打印机配置 230
12.2.2 管理打印服务 230
12.3 创建和配置本地打印机 232
12.3.1 创建打印队列 232
12.3.2 编辑打印机设置 235
12.4 阅读参考 236
第13章 游戏 239
13.1 Linux游戏 239
13.1.1 安装专有显卡驱动程序 240
13.1.2 安装DOOM 3 242
13.1.3 安装Unreal Tournament 2004 243
13.1.4 安装Quake 4 244
13.1.5 安装Wolfenstein: Enemy Territory 244
13.1.6 安装Battle for Wesnoth 245
13.1.7 使用Cedega玩Windows游戏 246
13.2 阅读参考 246
第Ⅱ部分 系统管理
第14章 管理用户 249
14.1 用户账户 249
14.1.1 用户ID和组ID 251
14.1.2 文件访问权限 251
14.2 用户组管理 252
14.3 用户管理 256
14.3.1 用户管理工具 256
14.3.2 添加新用户 257
14.3.3 监视用户在系统上的行为 258
14.4 口令管理 259
14.4.1 系统口令策略 259
14.4.2 口令文件 259
14.4.3 shadow口令 261
14.4.4 管理用户口令的安全性 263
14.4.5 用户口令的批量更改 263
14.5 权限提升 264
14.5.1 用su命令临时改变用户身份 264
14.5.2 适时地用sudo命令获取root权限 266
14.5.3 用受限shell控制用户权限 268
14.6 用户登录过程 268
14.7 磁盘配额 269
14.7.1 使用磁盘配额 270
14.7.2 手动配置磁盘配额 270
14.8 阅读参考 272
第15章 自动执行任务 273
15.1 自启动服务 274
15.1.1 开始启动加载过程 274
15.1.2 加载Linux内核 275
15.1.3 系统服务和运行级别 276
15.1.4 运行级别的定义 276
15.1.5 启动到默认运行级别 277
15.1.6 用GRUB启动到非默认的运行级别 278
15.1.7 理解init脚本以及初始化的最后步骤 278
15.1.8 用管理工具控制自启动服务 279
15.1.9 改变运行级别 280
15.1.10 利用运行级别排除故障 280
15.2 手动启动和停止服务 281
15.3 计划任务 282
15.3.1 使用at和batch命令制定计划任务 282
15.3.2 使用cron命令重复执行任务 284
15.4 shell控制基础 287
15.4.1 shell命令行 287
15.4.2 在shell中进行模式匹配 289
15.4.3 输入输出的重定向 290
15.4.4 管道数据 290
15.4.5 后台处理 291
15.5 编写和执行shell脚本 291
15.5.1 运行shell脚本程序 293
15.5.2 系统启动时自动加载shell脚本 294
15.5.3 使用指定的命令行解释器运行shell脚本 294
15.5.4 在脚本中使用变量 295
15.5.5 给变量赋值 296
15.5.6 获取变量的值 296
15.5.7 位置参数 296
15.5.8 位置参数实例 297
15.5.9 使用位置参数从命令行获取变量 298
15.5.10 使用简单的脚本自动执行任务 298
15.5.11 内置变量 300
15.5.12 特殊字符 301
15.5.13 用双引号处理字符串中含有空格的变量 301
15.5.14 用单引号保留未被扩展的变量 302
15.5.15 使用反斜杠作为逃逸符号 303
15.5.16 使用backtick符号 303
15.5.17 pdksh和bash中的表达式比较 304
15.5.18 tcsh中的表达式比较 308
15.5.19 for语句 312
15.5.20 while语句 313
15.5.21 until语句 315
15.5.22 repeat语句(tcsh) 316
15.5.23 select语句(pdksh) 316
15.5.24 shift语句 317
15.5.25 if语句 317
15.5.26 case语句 318
15.5.27 break和exit语句 320
15.5.28 在shell脚本中使用函数 320
15.6 阅读参考 321
第16章 系统资源 323
16.1 系统监视工具 323
16.1.1 控制台环境下的系统监视 323
16.1.2 使用kill命令控制进程 325
16.1.3 进程优先级调度与控制 326
16.1.4 使用free命令显示内存使用情况 327
16.1.5 磁盘配额 328
16.1.6 图形界面的进程和系统管理工具 328
16.1.7 KDE桌面环境的进程和系统监视工具 330
16.2 阅读参考 332
第17章 备份. 还原和恢复 333
17.1 选择合适的备份策略 333
17.1.1 为什么会丢失数据 334
17.1.2 备份需求与所需资源的评估 334
17.1.3 如何评价备份策略的好坏 336
17.1.4 做出选择 339
17.2 选择备份硬件和介质 339
17.2.1 可移动存储介质 339
17.2.2 网络存储 341
17.2.3 磁带驱动器备份 341
17.3 使用备份软件 342
17.3.1 tar:最基本的备份工具 342
17.3.2 GNOME中的File Roller软件 344
17.3.3 KDE中的归档工具(KDE ark和kdat) 345
17.3.4 使用dd命令归档 346
17.3.5 使用Amanda备份程序 346
17.3.6 可供选择的其他备份软件 347
17.4 复制文件 347
17.4.1 用tar命令复制文件 348
17.4.2 压缩. 加密和发送tar数据流 348
17.4.3 用cp命令复制文件 349
17.4.4 用mc命令复制文件 349
17.4.5 用scp命令复制文件 350
17.4.6 用rsync命令复制文件 351
17.5 恢复被删除的文件 353
17.5.1 在遇到未知的文件系统错误时使用-S选项重新格式化 353
17.5.2 用mc命令恢复被删除的文件 354
17.6 系统修复 355
17.6.1 Ubuntu系统修复盘 355
17.6.2 备份和恢复主引导记录 355
17.6.3 从普通的可引导软盘启动系统 356
17.6.4 使用GRUB可引导软盘 356
17.6.5 使用系统恢复功能 357
17.7 阅读参考 357
第18章 网络连接 359
18.1 基础:localhost接口 359
18.1.1 检查loopback接口是否可用 360
18.1.2 手动配置loopback接口 360
18.2 TCP/IP网络 361
18.2.1 TCP/IP地址 362
18.2.2 在Ubuntu中使用IP伪装技术 364
18.2.3 端口 364
18.3 网络结构 365
18.3.1 子网划分 365
18.3.2 子网掩码 366
18.3.3 广播. 单播和多播地址 366
18.4 网络硬件设备 367
18.4.1 网卡 367
18.4.2 网线 369
18.4.3 集线器和交换机 370
18.4.4 路由器和网桥 371
18.4.5 初始化新的网络硬件 371
18.5 使用网络配置工具 373
18.5.1 在命令行中配置网络接口 374
18.5.2 网络配置文件 378
18.5.3 使用图形界面配置工具 380
18.6 动态主机配置协议 382
18.6.1 DHCP工作原理 382
18.6.2 在安装和启动时激活DHCP 383
18.6.3 DHCP软件的安装和配置 384
18.6.4 使用DHCP配置网络主机 385
18.6.5 DHCP的其他用途 387
18.7 无线网络 387
18.7.1 Ubuntu对无线网络的支持.. 387
18.7.2 无线网络的优势 388
18.7.3 从现有的无线网络协议中选择合适的协议 389
18.8 连接Internet 389
18.9 通用的配置信息 390
18.10 配置数字用户线路访问Internet 391
18.10.1 理解以太网上的点对点协议 392
18.10.2 手动配置PPPoE连接 392
18.11 配置拨号Internet访问 393
18.12 排除连接故障 396
18.13 阅读参考 398
18.13.1 通用 398
18.13.2 DHCP 398
18.13.3 无线网络 398
18.13.4 书籍 398
第19章 使用ssh和telnet进行远程访问 399
19.1 架设Telnet服务器 399
19.2 Telnet与SSH的对比 400
19.3 架设SSH服务器 400
19.4 SSH工具 401
19.4.1 使用scp在计算机之间复制单个文件 401
19.4.2 使用sftp在计算机之间复制多个文件 402
19.4.3 使用ssh-keygen启动Key-based登录方式 403
19.5 远程X图形环境 404
19.5.1 XDMCP 404
19.5.2 VNC 405
19.6 阅读参考 406
第Ⅲ部分 服务器应用
第20章 Apache Web服务器管理 409
20.1 Apache Web服务器简介 409
20.2 安装Apache服务器 411
20.2.1 使用APT安装 411
20.2.2 亲自从源代码构建 412
20.3 启动与停止Apache 414
20.3.1 手动启动Apache服务器 415
20.3.2 使用/etc/init.d/apache2 416
20.4 设置运行时服务器配置 417
20.4.1 运行时配置指令 417
20.4.2 编辑httpd.conf 418
20.4.3 Apache多处理模块 420
20.4.4 使用.htaccess配置文件 421
20.5 文件系统认证与访问控制 423
20.5.1 使用allow和deny限制访问 423
20.5.2 认证 424
20.5.3 关于访问控制的结束语 426
20.6 Apache模块 427
20.6.1 mod_access 427
20.6.2 mod_alias 427
20.6.3 mod_asis 428
20.6.4 mod_auth 428
20.6.5 mod_auth_anon 428
20.6.6 mod_auth_dbm 428
20.6.7 mod_auth_digest 428
20.6.8 mod_autoindex 429
20.6.9 mod_cgi 429
20.6.10 mod_dir和mod_env 429
20.6.11 mod_expires 429
20.6.12 mod_headers 429
20.6.13 mod_include 429
20.6.14 mod_info和mod_log_config 430
20.6.15 mod_mime和mod_mime_magic 430
20.6.16 mod_negotiation 430
20.6.17 mod_proxy 430
20.6.18 mod_rewrite 430
20.6.19 mod_setenvif 430
20.6.20 mod_speling 430
20.6.21 mod_status 431
20.6.22 mod_ssl 431
20.6.23 mod_unique_id 431
20.6.24 mod_userdir 431
20.6.25 mod_usertrack 431
20.6.26 mod_vhost_alias 431
20.7 虚拟主机 431
20.7.1 基于地址的虚拟主机 432
20.7.2 基于名字的虚拟主机 432
20.8 日志 433
20.9 动态内容 435
20.9.1 CGI 435
20.9.2 SSI 436
20.9.3 基本的SSI指令 437
20.9.4 流程控制 440
20.10 可在Ubuntu中使用的其他Web服务器 441
20.10.1 Sun ONE Web服务器 441
20.10.2 Zope 442
20.10.3 Zeus Web服务器 442
20.11 阅读参考 442
第21章 管理数据库服务 445
21.1 简要回顾数据库的基本概念 446
21.1.1 关系数据库的工作方式 447
21.1.2 了解SQL的基础知识 448
21.1.3 创建表 449
21.1.4 向表中插入数据 450
21.1.5 从数据库中检索数据 451
21.2 选择数据库:MySQL和PostgreSQL 452
21.2.1 速度 453
21.2.2 数据锁定 453
21.2.3 在事务处理中用来保护数据完整性的ACID兼容性 454
21.2.4 SQL子查询 454
21.2.5 过程语言与触发器 454
21.3 配置MySQL 455
21.3.1 为MySQL root用户设置口令 456
21.3.2 在MySQL中创建数据库 456
21.3.3 在MySQL中授予与撤销特权 456
21.4 配置PostgreSQL 458
21.4.1 在PostgreSQL中初始化数据目录 458
21.4.2 在PostgreSQL中创建数据库 460
21.4.3 在PostgreSQL中创建数据库用户 460
21.4.4 在PostgreSQL中删除数据库用户 461
21.4.5 在PostgreSQL中授予和撤销特权 461
21.5 数据库客户端 462
21.5.1 通过SSH访问数据库 462
21.5.2 通过本地GUI客户端访问数据库 464
21.5.3 通过Web访问数据库 464
21.5.4 MySQL命令行客户端 465
21.5.5 PostgreSQL命令行客户端 466
21.5.6 图形界面的客户端 467
21.6 阅读参考 467
第22章 文件和打印 469
22.1 使用网络文件系统 470
22.1.1 安装和启动/停止NFS 470
22.1.2 NFS服务器配置 470
22.1.3 NFS客户端配置 472
22.2 让Samba工作 473
22.2.1 用/etc/samba/smb.conf手动配置Samba 474
22.2.2 使用testparm命令测试Samba 476
22.2.3 启动smbd守护进程 477
22.2.4 挂载Samba共享 478
22.2.5 使用SWAT配置Samba 478
22.3 使用Ubuntu进行网络和远程打印 482
22.3.1 创建网络打印机 483
22.3.2 在局域网上进行网络打印 483
22.3.3 任务消息块打印 484
22.4 使用通用UNIX打印系统GUI 485
22.5 避免打印机支持问题 489
22.5.1 多功能一体机(打印/传真/扫描)设备 489
22.5.2 使用USB和老式打印机 489
22.6 阅读参考 490
第23章 FTP远程文件服务 491
23.1 使用FTP客户端 491
23.1.1 FTP客户端界面 492
23.1.2 使用基于文本的FTP客户端界面 492
23.1.3 使用图形界面FTP客户端 499
23.2 FTP服务器 501
23.2.1 选择认证的或匿名服务器 502
23.2.2 Ubuntu的FTP服务器包 502
23.2.3 其他FTP服务器 502
23.3 安装FTP软件 503
23.4 FTP用户 504
23.5 为wu-ftpd配置inetd 505
23.6 配置VSFTP服务器 506
23.6.1 控制匿名访问 506
23.6.2 其他的vsftpd服务器配置文件 507
23.6.3 默认的vsftpd行为 507
23.7 配置Wu-FTPd服务器 509
23.8 使用ftpaccess文件中的命令对wu-ftpd进行配置 509
23.8.1 配置访问控制 510
23.8.2 配置用户信息 512
23.8.3 配置系统日志 516
23.8.4 配置权限控制 517
23.8.5 配置定向到cdpath的命令 519
23.8.6 shutdown文件的结构 520
23.9 配置FTP服务器的文件转换操作 520
23.9.1 剥离前缀 521
23.9.2 剥离后缀 521
23.9.3 添加前缀 521
23.9.4 添加后缀 521
23.9.5 外部命令 521
23.9.6 类型 522
23.9.7 选项 522
23.9.8 描述 522
23.9.9 一个转换操作的例子 522
23.10 使用ftphosts文件中的命令允许或禁止FTP 服务器连接 523
23.11 服务器管理 524
23.11.1 显示关于连接用户的信息 524
23.11.2 计算连接的数目 525
23.11.3 使用/usr/sbin/ftpshut安排FTP服务器停机时间 525
23.11.4 使用/var/log/xferlog查看服务器事务的日志 527
23.12 阅读参考 529
第24章 处理电子邮件 531
24.1 电子邮件是如何发送和接收的 531
24.1.1 邮件传输代理 532
24.1.2 选择一个MTA 534
24.1.3 邮件分发代理 534
24.1.4 邮件用户代理 535
24.2 基本的Postfix配置和操作 535
24.2.1 配置伪装 536
24.2.2 使用智能主机 537
24.2.3 设置消息传递时间间隔 537
24.2.4 邮件中继 538
24.2.5 转发带别名的电子邮件 538
24.3 使用Fetchmail获取邮件 539
24.3.1 安装Fetchmail 539
24.3.2 配置Fetchmail 539
24.4 选择邮件分发代理 542
24.4.1 Procmail 542
24.4.2 Spamassassin 543
24.4.3 Squirrelmail 543
24.4.4 病毒扫描器 543
24.5 邮件守护程序 544
24.6 Microsoft Exchange Server的替代者 544
24.6.1 Microsoft Exchange Server/Outlook客户端 544
24.6.2 CommuniGate Pro 545
24.6.3 Oracle协作套件 545
24.6.4 Bynari 545
24.6.5 Open-Xchange 545
24.6.6 phpgroupware 545
24.6.7 PHProjekt 545
24.6.8 Horde 546
24.7 阅读参考 546
24.7.1 Web资源 546
24.7.2 参考书目 547
第25章 代理与反向代理 549
25.1 什么是代理服务器 549
25.2 安装Squid 549
25.3 配置客户端 550
25.4 访问控制列表 551
25.5 指定客户端IP地址 555
25.6 配置示例 556
25.7 阅读参考 557
第26章 LDAP 559
26.1 配置LDAP服务器 560
26.2 配置客户端 564
26.2.1 Evolution 564
26.2.2 Thunderbird 564
26.3 管理 566
26.4 阅读参考 566
第Ⅳ部分 Linux编程
第27章 使用Perl 569
27.1 在Linux中使用Perl 569
27.1.1 Perl的版本 570
27.1.2 一个简单的Perl程序 570
27.2 Perl中的变量和数据结构 572
27.2.1 Perl的变量类型 572
27.2.2 特殊变量 573
27.3 操作符 573
27.3.1 比较操作符 574
27.3.2 复合操作符 574
27.3.3 算术操作符 575
27.3.4 其他操作符 575
27.3.5 特殊字符串常量 576
27.4 条件语句:if/else和unless 577
27.4.1 if 577
27.4.2 unless 577
27.5 循环 578
27.5.1 for 578
27.5.2 foreach 578
27.5.3 while 579
27.5.4 until 579
27.5.5 last和next 579
27.5.6 do…while和do…until 580
27.6 正则表达式 580
27.7 访问shell 581
27.8 模块和CPAN 582
27.9 代码示例 582
27.9.1 发送电子邮件 582
27.9.2 清理日志 584
27.9.3 往新闻组发信 585
27.9.4 单行小程序 586
27.9.5 命令行处理 586
27.10 阅读参考 587
27.10.1 书目 587
27.10.2 新闻组 588
27.10.3 万维网 588
27.10.4 其他资源 589
第28章 使用Python 591
28.1 Linux中的Python 591
28.2 Python基础 592
28.2.1 数字 593
28.2.2 进一步讨论字符串 594
28.2.3 列表 596
28.2.4 字典 598
28.2.5 条件和循环 599
28.3 函数 601
28.4 面向对象 602
28.4.1 类和对象变量 602
28.4.2 构造函数和析构函数 603
28.4.3 类继承 604
28.4.4 多重继承 606
28.5 标准库和Vaults of Parnassus 606
28.6 阅读参考 607
第29章 编写PHP脚本 609
29.1 PHP入门 609
29.1.1 进入和退出PHP模式 610
29.1.2 变量 610
29.1.3 数组 612
29.1.4 常量 613
29.1.5 引用 613
29.1.6 注释 614
29.1.7 转义序列 614
29.1.8 变量替换 615
29.1.9 操作符 616
29.1.10 条件语句 618
29.1.11 特殊操作符 619
29.1.12 switch语句 620
29.1.13 循环 621
29.1.14 包含其他文件 623
29.2 基本函数 624
29.2.1 字符串 624
29.2.2 数组 627
29.2.3 文件 629
29.2.4 其他函数 630
29.3 处理HTML表格 634
29.4 数据库 634
29.5 阅读参考 636
第30章 Ubuntu中的C/C++ 编程工具 639
30.1 Linux中的C编程 639
30.1.1 C++编程 640
30.1.2 Linux C/C++编程入门 640
30.1.3 编程的步骤 641
30.2 C/C++语言的基本元素 641
30.3 Ubuntu中的C语言编程项目管理工具 642
30.3.1 使用make构建程序 642
30.3.2 使用autoconf工具配置代码 644
30.3.3 使用RCS和CVS管理软件项目 644
30.3.4 调试工具 645
30.4 使用GNU C编译器 646
30.5 一个简单的C程序 647
30.6 图形界面开发工具 648
30.6.1 使用KDevelop客户端 648
30.6.2 Trolltech的Qt Designer 649
30.6.3 GNOME中的开发工具Glade客户端 650
30.7 阅读参考 651
第Ⅴ部分 Ubuntu日常维护
第31章 保护您的机器 655
31.1 了解计算机攻击 655
31.2 评估机器的弱点 657
31.3 保护您的机器 658
31.3.1 保护无线网络 658
31.3.2 口令和物理安全 659
31.3.3 配置和使用Tripwire 659
31.3.4 设备 661
31.4 病毒 661
31.5 配置防火墙 662
31.6 构建一个灾难恢复计划 662
31.7 在Linux安全问题上要保持最新 663
31.8 阅读参考 664
第32章 性能调整 665
32.1 硬盘 665
32.1.1 使用BIOS和内核来调整磁盘驱动器 666
32.1.2 hdparm命令 666
32.1.3 文件系统调整 667
32.1.4 tune2fs命令 668
32.1.5 e2fsck命令 668
32.1.6 badblocks命令 669
32.1.7 禁止文件访问时间 669
32.2 内核 669
32.3 Apache 670
32.4 MySQL 671
32.4.1 衡量关键字缓冲区的使用 672
32.4.2 使用查询缓存 673
32.4.3 其他调整 675
32.4.4 查询优化 675
32.5 阅读参考 675
第33章 命令行高级班 677
33.1 为什么使用Shell 678
33.2 基本命令 679
33.2.1 使用cat输出文件的内容 680
33.2.2 使用cd改变目录 681
33.2.3 使用chmod修改文件访问权限 682
33.2.4 使用cp复制文件 683
33.2.5 使用du输出磁盘使用情况 683
33.2.6 通过使用find查找文件 684
33.2.7 使用grep在输入中查找字符串 686
33.2.8 使用less为输出翻页 687
33.2.9 使用ln在文件间创建链接 689
33.2.10 使用locate通过索引查找文件 690
33.2.11 使用ls命令列出当前目录下的文件 691
33.2.12 使用man阅读用户手册页 692
33.2.13 使用mkdir创建目录 693
33.2.14 使用mv移动文件 693
33.2.15 使用ps列出进程 693
33.2.16 使用rm删除文件和目录 694
33.2.17 使用tail输出文件的最后一行 694
33.2.18 使用top输出资源利用率 695
33.2.19 使用which输出命令的位置 696
33.3 将命令组合使用 696
33.4 多终端 698
33.5 阅读参考 700
第34章 高级APT 701
34.1 使用Aptitude 701
34.2 dpkg后端 702
34.3 配置APT 704
34.4 阅读参考 705
第35章 内核和模块管理 707
35.1 Linux内核 708
35.1.1 Linux源代码树 708
35.1.2 内核的类型 710
35.2 管理模块 711
35.3 何时进行重新编译 713
35.4 内核版本 714
35.5 获得内核源代码 714
35.6 为内核打补丁 715
35.7 编译内核 717
35.7.1 使用xconfig配置内核 721
35.7.2 创建一个初始的RAM磁盘映像 724
35.8 当发生故障时 724
35.8.1 编译时的错误 724
35.8.2 运行时错误. 启动加载器问题和内核oops 725
35.9 阅读参考 726
第Ⅵ部分 附录
附录A Ubuntu和Linux的Internet资源 729
A.1 Web站点和搜索引擎 730
A.2 Usenet新闻组 735
A.3 邮件列表 736
A.4 Internet Relay Chat 737
深入解析Ubuntu操作系统
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!