Fedora和Red Hat Enterprise Linux实用指南(第6版)(上、下册)( 入行必读的Linux圣经)
(美)苏贝尔(SobellL,M.G.)著
李洋等译
ISBN 978-7-121-19333-0
2013年1月出版
定价:198.00元
1308页
16开
编辑推荐
首屈一指的Fedora和RHEL的参考资源:学习和工作的最佳参考
全面掌握Linux管理和安全:采用基于GUI的图形化工具、命令行以及Perl脚本语言
搭建重要的Internet服务器:一步一步第搭建示例,包括Samba、Apache、sendmail、DNS、LDAP、FTP等服务器。
内容提要
本 书采用通俗易懂的语言和大量的实例,对目前企业应用最为广泛的Fedora和Red Hat Enterprise Linux版本的应用进行了系统、科 学、全面的介绍,包括Linux系统管理、互联网服务器搭建、内核编译及执行、命令行使用等重点内容,并且对应用Perl脚本进行自动化管理进行了详细介 绍。
本书适合广大Linux从业人员(包括系统和网络管理人员)、Linux爱好者,同时,本书也不失为一本很好的大中专院校Linux系统学习的教材。
目录
上册
内容速览 ................................................................................................XXVII
前言 .................................................................................................. XXIX
第1章 欢迎来到Linux的世界 ........................................................ 1
1.1UNIX和GNU-Linux的历史 ..................................................... 2
1.1.1Linux 的鼻祖:UNIX ................................................ 2
1.1.2 回顾1983年 ................................................................ 3
1.1.3 接下来的场景,1991年 ..................................................................................................... 4
1.1.4 代码是免费的 ............................................................ 4
1.1.5 玩得开心 .................................................................... 5
1.2 是什么使Linux如此优秀 ......................................................... 5
1.2.1 为什么Linux在硬件厂商和开发人员中广受欢迎 ................................................... 8
1.2.2 可移植的Linux ........................................................... 9
1.2.3C编程语言 .................................................................. 9
1.3Linux概述 .............................................................................. 10
1.3.1Linux具有内核编程接口 .........................................................................11
1.3.2Linux支持多用户 ......................................................11
1.3.3Linux可以运行多任务 ........................................................................11
1.3.4Linux提供安全的分层文件系统 .................................................................11
1.3.5Shell:命令解释器和编程语言 ....................................................................................... 12
1.3.6 一个有用工具的大集合 .................................................................................. 14
1.3.7 进程间通信 .............................................................. 14
1.3.8 系统管理 .................................................................. 14
1.4Linux的其他特性 ................................................................... 15
1.4.1GUI:图形用户界面 ............................................... 15
1.4.2 (连接)网络实用工具 ................................................................................................... 15
1.4.3 软件开发 .................................................................. 16
1.5 本书约定 ............................................................................... 16
1.6 本章小结 ............................................................................... 18
1.7 练习 ....................................................................................... 18
第1部分 安装Fedora/RHEL Linux
第2章 安装概述 .............................................................................. 22
2.1 桌面Live CD和安装DVD ...................................................... 23
2.2 更多信息 ............................................................................... 24
2.3 安装规划 ............................................................................... 25
2.3.1 注意事项 .................................................................. 25
2.3.2 需求 ......................................................................... 25
2.3.3 处理器架构 .............................................................. 27
2.3.4 界面:安装程序和安装系统 ........................................................................................... 28
2.3.5 安装哪一个:Fedora或Red Hat Enterprise Linux ........................................................... 29
2.3.6Fedora/RHEL的发行 ................................................ 30
2.3.7Fedora标准版本 ....................................................... 30
2.3.8Fedora发行集 ........................................................... 31
2.3.9 安装一个全新的副本或升级现有的Fedora/RHEL系统 ........................... 31
2.3.10 硬盘设置 .................................................................. 31
2.3.11 RAID ........................................................................ 38
2.3.12 LVM:逻辑卷管理器 ....................................................................................................... 39
2.4 安装过程 ............................................................................... 40
2.5 下载和刻录CD/DVD ............................................................. 40
2.5.1 下载CD/DVD ISO映像文件的简便方法 ......................................................................... 41
2.5.2 下载CD/DVD ISO映像文件的其他方式 ......................................................................... 41
2.5.3 验证ISO映像文件 .................................................... 43
2.5.4 刻录CD/DVD ........................................................... 44
2.6 收集系统信息 ....................................................................... 44
2.7 本章小结 ............................................................................... 46
2.8 练习 ....................................................................................... 46
2.9 高级练习 ............................................................................... 46
第3章 一步一步安装 ...................................................................... 47
3.1 运行Fedora Live会话 ............................................................. 48
3.1.1 引导系统 .................................................................. 48
3.2 安装Fedora/RHEL .................................................................. 50
3.2.1 从Live会话安装Fedora .................................................................................................... 51
3.2.2 从DVD安装盘进行安装/升级 ............................................................................. 52
3.2.3Anaconda安装程序 .................................................. 53
3.2.4Firstboot:当重新启动时 ................................................................................................. 61
3.2.5 初始化数据库和更新系统 ........................................................................... 62
3.3 安装任务 ............................................................................... 63
3.3.1 修改引导参数(选项) ................................................................................................... 63
3.3.2 使用Disk Druid对磁盘进行分区 ................................................................ 66
3.3.3palimpsest:GNOME的磁盘工具 .................................................................................... 72
3.3.4 使用Kickstart配置器 ................................................ 76
3.3.5 设置一个双重引导系统 ................................................................................... 77
3.4gnome-control-center/Displays:配置显示 .............................................. 79
3.5 本章小结 ............................................................................... 79
3.6 练习 ....................................................................................... 80
3.7 高级练习 ............................................................................... 80
第2部分 Fedora/RHEL入门
第4章 介绍Fedora和Red Hat Enterprise Linux ................................................................ 82
4.1 限制你的权力(超级用户/root权限) ....................................................... 83
4.2Fedora/RHEL桌面之旅.......................................................... 83
4.2.1 登录系统 .................................................................. 84
4.2.2 配置后备模式(Fedora) ................................................................................................ 85
4.2.3 安装和使用gnome-tweak-tool(Fedora) ....................................................................... 86
4.2.4 桌面简介 .................................................................. 88
4.2.5 从桌面启动程序 ...................................................... 89
4.2.6 切换工作区 .............................................................. 90
4.2.7 设置个人首选项 ...................................................... 91
4.2.8 鼠标首选项 .............................................................. 92
4.2.9 窗口操作 .................................................................. 93
4.2.10 使用Nautilus处理文件 ............................................................................. 94
4.2.11 软件更新 ................................................................. 100
4.2.12 会话管理 ................................................................. 101
4.2.13 获得帮助 ................................................................. 101
4.2.14 随意实验 ................................................................. 102
4.2.15 注销 ....................................................................... 102
4.3 发挥桌面的最大作用 .......................................................... 102
4.3.1GNOME桌面术语 .................................................. 102
4.3.2 打开文件 ................................................................ 103
4.3.3 面板 ....................................................................... 104
4.3.4 主菜单 .................................................................... 105
4.3.5 窗口 ....................................................................... 105
4.3.6 对象的上下文菜单 ................................................ 109
4.4 更新、安装和删除软件包 ...................................................112
4.4.1 更新 ........................................................................113
4.4.2 添加/删除软件 ........................................................113
4.5 在哪里能找到文档 ...............................................................114
4.5.1GNOME桌面帮助窗口 .............................................................................114
4.5.2man:显示系统手册 ...............................................114
4.5.3apropos:根据关键字搜索 ..........................................................116
4.5.4info:显示工具的有关信息 ............................................................................................117
4.5.5--help选项 ................................................................119
4.5.6HOWTO:找到工作原理 ............................................................................................... 120
4.5.7 获得帮助 ................................................................ 120
4.6 关于登录的更多信息 .......................................................... 123
4.6.1 登录画面 ................................................................ 123
4.6.2 如果无法登录该怎么办 ....................................................................... 123
4.6.3 远程登录:终端仿真、ssh和拨号连接 ........................................................................ 124
4.6.4 从终端(仿真器)登录 ................................................................................................. 124
4.6.5 更改密码 ................................................................ 125
4.6.6 使用虚拟控制台 .................................................... 127
4.7 在命令行中工作 .................................................................. 127
4.7.1 纠正错误 ................................................................ 128
4.7.2 重复/编辑命令行 ................................................... 129
4.8 本章小结 ............................................................................. 130
4.9 练习 ..................................................................................... 131
4.10 高级练习 ............................................................................. 132
第5章 Linux实用程序 .................................................................... 133
5.1 特殊字符 ............................................................................. 134
5.2 基本实用程序 ...................................................................... 135
5.2.1ls:列出文件的名称 ....................................................................................................... 135
5.2.2cat:显示一个文本文件 ................................................................................................. 136
5.2.3rm:删除一个文件 ................................................ 136
5.2.4less即more:一次仅显示一个文本文件的一屏 ........................................................... 137
5.2.5hostname:显示系统名称 .............................................................................................. 137
5.3 使用文件 ............................................................................. 137
5.3.1cp:复制一个文件 ................................................. 137
5.3.2mv:更改文件名 ................................................... 138
5.3.3lpr:打印文件 ........................................................ 139
5.3.4grep:搜索字符串 ................................................. 140
5.3.5head:显示文件的开头 .................................................................................................. 140
5.3.6tail:显示文件的末尾 .................................................................................................... 141
5.3.7sort:按顺序显示文件 ................................................................................................... 142
5.3.8uniq:从文件中删除重复行 .......................................................................................... 142
5.3.9diff:比较两个文件 ............................................... 143
5.3.10 file:标识文件的内容 .................................................................................................... 144
5.4|(Pipe):进程间通信 ...................................................... 144
5.54个常用工具 ....................................................................... 145
5.5.1echo:显示文本 ..................................................... 145
5.5.2date:显示时间和日期 .......................................................................... 146
5.5.3script:记录Shell会话 .................................................................................................... 146
5.5.4unix2dos:把Linux和Macintosh文件转换为Windows格式 ............................... 147
5.6 压缩和归档文件 ................................... 148
5.6.1bzip2:压缩文件 .................................................... 148
5.6.2bzcat和bunzip2:解压缩文件 .......................................................... 149
5.6.3gzip:压缩文件 ...................................................... 150
5.6.4tar:打包和解包文档 ..................................................................................................... 150
5.7 定位实用程序 ...................................................................... 153
5.7.1which和whereis:定位一个实用程序 .................................................... 153
5.7.2locate:搜索一个文件 .................................................................................................... 154
5.8 显示用户和系统信息 .......................................................... 155
5.8.1who:列出系统上的用户 ............................................................................................... 156
5.8.2finger:列出系统上的用户 ............................................................................................ 156
5.8.3w:列出系统上的用户 ................................................................................................... 158
5.9 与其他用户通信 .................................................................. 158
5.9.1write:发送消息 .................................................... 158
5.9.2mesg:拒绝或接受消息 ................................................................................................. 159
5.10 电子邮件 ............................................................................. 160
5.11 教程:使用vim创建和编辑文件 ................................................................... 160
5.11.1 启动vim ................................................................ 161
5.11.2 命令和输入模式 ................................................... 162
5.11.3 输入文字 ............................................................... 163
5.11.4 获得帮助 ............................................................... 164
5.11.5 结束编辑会话 ....................................................... 167
5.11.6 兼容参数 ............................................................... 167
5.12 本章小结 ............................................................................. 167
5.13 练习 ..................................................................................... 169
5.14 高级练习 ............................................................................. 170
第6章 Linux文件系统 .................................................................. 172
6.1 分层文件系统 ...................................................................... 173
6.2 目录文件和普通文件 .......................................................... 174
6.2.1 文件名 .................................................................... 175
6.2.2 工作目录 ................................................................ 177
6.2.3 你的主目录 ............................................................ 177
6.3 路径名 ................................................................................. 178
6.3.1 绝对路径 ................................................................ 178
6.3.2 相对路径 ................................................................ 179
6.4 目录操作 ............................................................................. 180
6.4.1mkdir:创建一个目录 .................................................................................................... 181
6.4.2cd:改变工作目录 ................................................. 182
6.4.3rmdir:删除一个目录 ..................................................................................................... 183
6.4.4 使用路径名 ............................................................ 184
6.4.5mv, cp:移动或复制文件 ............................................................................................... 185
6.4.6mv:移动目录 ....................................................... 186
6.4.7 重要的标准目录和文件 ..................................................................................... 186
6.5 访问权限 ............................................................................. 188
6.5.1ls -l:显示权限 ...................................................... 189
6.5.2chmod:更改访问权限 .................................................................................. 190
6.5.3setuid和setgid权限 ................................................. 192
6.5.4 目录访问权限 ........................................................ 193
6.6ACL:访问控制列表 .......................................................... 195
6.6.1 启用ACL ................................................................. 195
6.6.2 使用访问规则 ........................................................ 196
6.6.3 为目录设置默认规则 ......................................................................... 199
6.7 链接 ..................................................................................... 200
6.7.1 硬链接 .................................................................... 201
6.7.2 符号链接 ................................................................ 204
6.7.3rm:删除链接 ........................................................ 206
6.8 本章小结 ............................................................................. 206
6.9 练习 ..................................................................................... 208
6.10 高级练习 ............................................................................. 210
第7章 Shell .....................................................................................211
7.1 命令行 ................................................................................. 212
7.1.1 语法 ....................................................................... 212
7.1.2 处理命令行 ............................................................ 215
7.1.3 执行命令 ................................................................ 217
7.1.4 编辑命令行 ............................................................ 218
7.2 标准输入和标准输出 .......................................................... 218
7.2.1 作为文件的屏幕 .................................................... 218
7.2.2 作为标准输入和标准输出的键盘和屏幕 .................................................. 218
7.2.3 重定向 .................................................................... 220
7.2.4 管道 ....................................................................... 224
7.3 在后台运行命令 .................................................................. 227
7.3.1 将作业从前台移到后台 ............................................................................... 228
7.3.2kill:中止后台作业 ............................................... 229
7.4 文件名生成/路径名扩展 ..................................................... 229
7.4.1?特殊字符 ............................................................... 230
7.4.2*特殊字符 .............................................................. 231
7.4.3[]特殊字符 .............................................................. 232
7.5 内置命令 ............................................................................. 234
7.6 本章小结 ............................................................................. 235
7.7 练习 ..................................................................................... 236
7.8 高级练习 ............................................................................. 237
第3部分 Fedora/RHEL深入挖掘
第8章 Linux图形用户界面:X和GNOME .................................................................. 240
8.1X Window系统 ..................................................................... 241
8.1.1 使用X Window系统 ............................................... 243
8.1.2 桌面环境/管理器 ................................................... 248
8.2Nautilus文件浏览器窗口 ..................................................... 249
8.2.1 视图面板 ................................................................ 250
8.2.2 侧边栏 .................................................................... 250
8.2.3 控制栏 .................................................................... 252
8.2.4 菜单栏 .................................................................... 252
8.3Nautilus空间视图(RHEL) ............................................................................. 255
8.4GNOME工具....................................................................... 256
8.4.1 选择字体窗口 ........................................................ 256
8.4.2 选择颜色窗口 ........................................................ 257
8.4.3Run Application窗口 ............................................................................... 257
8.4.4 搜索文件 ................................................................ 257
8.4.5GNOME终端仿真器/Shell ............................................................................................. 259
8.5 本章小结 ............................................................................. 259
8.6 练习 ..................................................................................... 260
8.7 高级练习 ............................................................................. 261
第9章 Bourne Again Shell ........................................................ 262
9.1 背景 ..................................................................................... 263
9.2Shell基础 ............................................................................. 264
9.2.1 启动文件 ................................................................ 264
9.2.2 符号命令 ................................................................ 268
9.2.3 重定向标准错误 .................................................... 268
9.2.4 编写一个简单的shell脚本 ........................................................................... 271
9.2.5 分隔和分组命令 .................................................... 275
9.2.6 作业控制 ................................................................ 278
9.2.7 操作目录栈 ............................................................ 281
9.3 参数和变量 ......................................................................... 283
9.3.1 用户创建变量 ........................................................ 284
9.3.2 变量属性 ................................................................ 287
9.3.3 关键字变量 ............................................................ 289
9.4 特殊字符 ............................................................................. 297
9.5 进程 ..................................................................................... 298
9.5.1 进程结构 ................................................................ 298
9.5.2 进程标识 ................................................................ 298
9.5.3 执行命令 ................................................................ 300
9.6 历史 ..................................................................................... 300
9.6.1 控制历史的变量 .................................................... 301
9.6.2 重新执行和编辑命令 .................................................................................... 302
9.6.3Readline库 .............................................................. 310
9.7 别名 ..................................................................................... 316
9.7.1 别名中的单引号和双引号 .................................................................... 317
9.7.2 别名的示例 ............................................................ 318
9.8 函数 ..................................................................................... 320
9.9 控制bash:特性和选项 ....................................................... 323
9.9.1 命令行选项 ............................................................ 323
9.9.2shell特性 ................................................................. 323
9.10 处理命令行 ......................................................................... 326
9.10.1 历史扩展 ................................................................ 327
9.10.2 别名替代 ................................................................ 327
9.10.3 解析和扫描命令行 ................................................ 327
9.10.4 命令行扩展 ............................................................ 328
9.11 本章小结 ............................................................................. 336
9.12 练习 ..................................................................................... 337
9.13 高级练习 ............................................................................. 339
第10章 网络与因特网 ................................................................. 341
10.1 网络介绍 ........................................................................... 342
10.2 网络类型及其工作原理 .................................................... 343
10.2.1 广播网络 .............................................................. 344
10.2.2 点对点网络 .......................................................... 344
10.2.3 交换网络 .............................................................. 345
10.2.4LAN:局域网 ...................................................... 345
10.2.5WAN:广域网 ..................................................... 348
10.2.6 网关和路由器的互联网络 ................................................................... 348
10.2.7 网络协议 .............................................................. 351
10.2.8IPv4 ...................................................................... 353
10.2.9IPv6(互联网协议第6版) .......................................................................................... 353
10.2.10 主机地址 .............................................................. 357
10.2.11 CIDR:无类别域间路由 .............................................................................................. 360
10.2.12 主机名 .................................................................. 360
10.3 通过网络通信 .................................................................... 361
10.3.1finger:显示远程用户信息 .......................................................................................... 362
10.3.2 邮件列表服务器 .................................................. 362
10.4 网络工具 ........................................................................... 362
10.4.1 可信主机 .............................................................. 363
10.4.2OpenSSH工具 ...................................................... 363
10.4.3telnet:登录远程系统 ......................................................................... 363
10.4.4ftp:通过网络传输文件 ............................................................................................... 366
10.4.5ping:测试网络连接 .................................................................................................... 366
10.4.6traceroute:跟踪互联网路由 ....................................................................................... 367
10.4.7host和dig:查询互联网名称服务器 ........................................................ 368
10.4.8whois:查找Internet站点信息 ................................................................ 369
10.5 分布式计算 ....................................................................... 370
10.5.1 客户端/服务器模型 ................................................................................ 371
10.5.2DNS:域名服务 .................................................. 371
10.5.3 端口 ...................................................................... 373
10.5.4NIS:网络信息服务 ..................................................................................................... 374
10.5.5NFS:网络文件系统 .................................................................................................... 374
10.6WWW:万维网 ................................................................. 379
10.6.1 浏览器 .................................................................. 380
10.6.2 搜索引擎 .............................................................. 381
10.6.3URL:统一资源定位器 ............................................................................................... 381
10.7 本章小结 ........................................................................... 381
10.8 练习 ................................................................................... 382
10.9 高级练习 ........................................................................... 383
第4部分 系统管理
第11章 系统管理:核心概念 ................................................... 386
11.1 以root权限运行命令 .......................................................... 388
11.1.1 特权用户的特殊权力 ............................................................................. 388
11.1.2 获取root权限 ........................................................ 389
11.1.3 使用su获取root权限 ........................................................................... 391
11.1.4 使用sudo获取root权限 .............................................................................. 393
11.1.5sudoers:配置sudo ............................................... 398
11.1.6 锁定root账户(删除root密码) ........................................................... 404
11.1.7consolehelper:允许普通用户运行特权命令 ................................................... 404
11.2init守护进程 ...................................................................... 405
11.2.1systemd init守护进程(Fedora) ................................................................................. 405
11.2.2Upstart init 守护进程(RHEL) .................................................................................. 416
11.2.3SysVinit(RC)脚本:启动和停止系统服务(Fedora/RHEL) .............................. 423
11.3 系统操作 ........................................................................... 428
11.3.1 运行级别 ............................................................... 429
11.3.2 引导系统 ............................................................... 430
11.3.3 单用户模式 ........................................................... 430
11.3.4 进入图形化多用户模式 ........................................................................ 431
11.3.5 登录 ...................................................................... 432
11.3.6 注销 ...................................................................... 433
11.3.7 关闭系统 ............................................................... 433
11.3.8 崩溃 ...................................................................... 435
11.4 救援已安装的系统 ............................................................ 437
11.5 确保系统安全 .................................................................... 437
11.5.1 避免特洛伊木马 ................................................... 438
11.5.2SELinux ................................................................ 439
11.5.3PAM ...................................................................... 443
11.6 系统管理工具 .................................................................... 448
11.6.1 文本型管理工具 ................................................... 448
11.6.2 图形化配置工具 ................................................... 455
11.7 设置服务器 ....................................................................... 456
11.7.1 配置文件中的标准规则 ...................................................................... 457
11.7.2rpcinfo:显示关于rpcbind的信息 .......................................................... 459
11.7.3xinetd超级服务器 ................................................. 460
11.7.4 保护服务器 ........................................................... 463
11.8DHCP: 配置网络接口 ........................................................ 469
11.8.1 更多信息 ............................................................... 469
11.8.2DHCP的工作原理 ................................................ 469
11.8.3DHCP客户端 ........................................................ 470
11.8.4DHCP服务器 ........................................................ 471
11.9nsswitch.conf:首先查看哪个服务 .............................................................. 473
11.9.1 信息 ...................................................................... 473
11.9.2 方法 ...................................................................... 474
11.9.3 搜索顺序 ............................................................... 474
11.9.4 操作项 ................................................................... 474
11.9.5compat方法:passwd、group和shadow文件中的±................................................... 475
11.10 获得帮助 ........................................................................... 476
11.11 本章小结............................................................................ 476
11.12 练习 ................................................................................... 477
11.13 高级练习 ........................................................................... 478
第12章 文件、目录和文件系统 ............................................... 479
12.1 重要的文件和目录 ............................................................ 480
12.2 文件类型 ........................................................................... 493
12.2.1 普通文件、目录、链接和Inode .................................................................................. 493
12.2.2 设备特殊文件 ...................................................... 494
12.3 文件系统 ........................................................................... 497
12.3.1mount:挂载文件系统 ................................................................................................. 498
12.3.2umount:卸载文件系统 ............................................................................................... 501
12.3.3fstab:跟踪文件系统 .................................................................................................... 502
12.3.4fsck:检查文件系统的完整性 ..................................................................................... 503
12.3.5tune2fs:更改文件系统参数 ................................................................... 504
12.4 本章小结 ........................................................................... 506
12.5 练习 ................................................................................... 506
12.7 高级练习 ........................................................................... 506
第13章 查找、下载和安装软件 ............................................... 507
13.1 简介 .................................................................................. 508
13.2JumpStart:使用yum安装和卸载软件包 ........................................................ 509
13.3 寻找包含所需应用程序或文件的软件包 ......................................................... 513
13.4yum:保持系统最新 ......................................................... 515
13.4.1 更新包 .................................................................. 515
13.4.2yum 命令 .............................................................. 516
13.4.3yum Groups ........................................................... 517
13.4.4 使用yumdownloader下载RPM包文件 .......................................................... 518
13.4.5yum.conf:配置yum ............................................................................................. 519
13.4.6yum 资源库 .......................................................... 520
13.5BitTorrent ........................................................................... 521
13.6RPM:RPM软件包管理器 ............................................... 524
13.6.1 查询软件包和文件 .............................................................................. 525
13.6.2 安装、升级和卸载软件包 ........................................................................................... 527
13.6.3 安装Linux内核二进制文件 .................................................................. 528
13.7 安装非rpm软件 .................................................................. 528
13.7.1/opt和/usr/local目录 ..................................................................... 528
13.7.2GNU配置和构建系统 .................................................................. 529
13.8 保持软件最新 .................................................................... 530
13.8.1Bugs(缺陷) ...................................................... 531
13.8.2Errata(勘误表) ................................................. 531
13.8.3Red Hat网络(RHEL) ................................................................................ 531
13.9wget:非交互式下载文件 ................................................ 532
13.10 本章小结 ........................................................................... 533
13.11 练习 ................................................................................... 533
13.12 高级练习 ........................................................................... 534
第14章 使用CUPS进行打印..................................................... 535
14.1 概述 ................................................................................... 536
14.1.1 先决条件 .............................................................. 537
14.1.2 更多信息 .............................................................. 537
14.1.3 注记 ...................................................................... 538
14.2Fedora/RHEL自动配置本地打印机................................................................. 538
14.3JumpStart I:使用system-config-printer配置打印机 ..................................... 538
14.3.1 配置选项 .............................................................. 539
14.4JumpStart II:设置本地或远程打印机 ................................................ 540
14.5 使用CUPS Web界面 .......................................................... 544
14.6 配置打印机 ....................................................................... 546
14.6.1 修改打印机 .......................................................... 546
14.6.2CUPS Web界面 .................................................... 546
14.6.3 在命令行中使用CUPS ......................................................................... 547
14.6.4 共享CUPS打印机 ................................................ 551
14.7 传统的UNIX打印 .............................................................. 553
14.8 从Windows打印 ................................................................. 554
14.8.1 使用CUPS打印 .................................................... 554
14.8.2 使用Samba打印 .................................................... 555
14.9 打印到Windows ................................................................. 556
14.10 本章小结 ........................................................................... 556
14.11 练习 ................................................................................... 557
14.12 高级练习 ........................................................................... 557
第15章 构建Linux内核 ................................................................ 558
15.1 下载、安装和预备内核源代码 ............................................................... 559
15.1.1 先决条件 .............................................................. 560
15.1.2 更多信息 .............................................................. 560
15.1.3 下载源代码 .......................................................... 560
15.1.4 安装源代码 .......................................................... 561
15.1.5 预备源代码 .......................................................... 562
15.2 配置和编译Linux内核 ....................................................... 563
15.2.1 标记内核 .............................................................. 563
15.2.2.config:配置内核 ............................................... 564
15.2.3 定制内核 .............................................................. 565
15.2.4 清理源代码树 ...................................................... 567
15.2.5 复制配置文件 ...................................................... 568
15.2.6 编译内核映像文件和可加载模块 ............................................. 568
15.2.7 使用可加载内核模块 ........................................................................ 568
15.3 安装内核、模块和相关文件 ........................................................... 569
15.4GRUB:Linux引导加载程序........................................................................... 570
15.4.1 配置GRUB ........................................................... 571
15.4.2grub-install:安装MBR和GRUB文件 ......................................................................... 572
15.5dmesg:显示内核消息 ...................................................... 572
15.6 本章小结 ........................................................................... 573
15.7 练习 ................................................................................... 573
15.8 高级练习 ........................................................................... 574
第16章 管理任务 .......................................................................... 575
16.1 配置用户和组账户 ............................................................ 576
16.1.1system-config-users:管理用户账户 ........................................................................... 576
16.1.2 从命令行管理用户账户 ........................................................................ 578
16.2 备份文件 ........................................................................... 579
16.2.1 选择备份介质 ...................................................... 580
16.2.2 备份工具 .............................................................. 580
16.2.3 执行一次简单的备份 .......................................................................... 583
16.3 计划任务 ........................................................................... 584
16.3.1crond和anacron:安排日常任务 ........................................................ 585
16.3.2at:偶尔运行的任务 .................................................................... 589
16.4 系统报告 ........................................................................... 589
16.4.1vmstat:报告虚拟内存统计信息 ................................................................................. 589
16.4.2top:列出使用资源最多的进程 .................................................................................. 591
16.5 维护系统 ........................................................................... 592
16.5.1parted:报告并分区硬盘 ............................................................................................. 592
16.5.2logrotate:管理日志文件 ............................................................................................. 595
16.5.3rsyslogd:记录系统消息 .............................................................................................. 597
16.5.4 保证用户知情 ...................................................... 600
16.5.5 产生问题 .............................................................. 601
16.5.6 解决问题 .............................................................. 602
16.6MySQL .............................................................................. 609
16.6.1 更多信息 .............................................................. 609
16.6.2 术语 ...................................................................... 609
16.6.3 语法和约定 .......................................................... 610
16.6.4 先决条件 .............................................................. 610
16.6.5 注记 ...................................................................... 610
16.6.6JumpStart:设置MySQL ...............................................................................................611
16.6.7 选项 ......................................................................611
16.6.8.my.cnf配置文件................................................... 612
16.6.9 使用MySQL ......................................................... 612
16.7 本章小结 ........................................................................... 617
16.8 练习 ................................................................................... 618
16.9 高级练习 ........................................................................... 618
第17章 配置和监控局域网 ........................................................ 619
17.1 设置硬件 ........................................................................... 620
17.1.1 连接计算机 .......................................................... 620
17.1.2 路由器 .................................................................. 621
17.1.3NIC:网络接口卡 ................................................ 621
17.1.4 工具 ...................................................................... 622
17.2 配置系统 ........................................................................... 624
17.3NetworkManager:配置网络连接 .................................................... 625
17.3.1 NetworkManager小程序的右键菜单 ........................................................ 625
17.4 设置服务器 ....................................................................... 629
17.5Cacti简介 ........................................................................... 631
17.5.1 配置SNMP ............................................................ 632
17.5.2 设置LAMP ........................................................... 632
17.5.3 启用Cacti轮询 ...................................................... 635
17.5.4 配置Cacti .............................................................. 635
17.5.5 基本Cacti管理 ...................................................... 636
17.5.6 设置远程数据源 .................................................. 638
17.6 更多信息 ........................................................................... 642
17.7 本章小结 ........................................................................... 642
17.8 练习 ................................................................................... 643
17.9 高级练习 ........................................................................... 643
下册
第5部分 使用客户端和设置服务器
第18章 OpenSSH:安全网络通信 ...............................................................2
18.1 OpenSSH简介 ...............................................................3
18.1.1 OpenSSH工作原理 ..........................................4
18.1.2 文件 .................................................................4
18.1.3 更多信息 ..........................................................6
18.2 运行ssh、scp和sftp(OpenSSH客户端) .............................................6
18.2.1 先决条件 ..........................................................6
18.2.2 JumpStart:使用ssh和scp连接OpenSSH服务器 ...............................................................6
18.2.3 配置OpenSSH客户端 ......................................7
18.2.4 ssh:登录远程系统或在远程系统上执行命令 ..............................................................10
18.2.5 scp:在本地与远程系统之间复制文件 ..........................................................................13
18.2.6 sftp:一个安全的FTP客户端 ...........................................................................................15
18.2.7 ~/.ssh/config 和/etc/ssh/ssh_config配置文件 ...........................................15
18.3 设置OpenSSH服务器(sshd) ...................................................................17
18.3.1 先决条件 ........................................................17
18.3.2 注记 ...............................................................17
18.3.3 JumpStart: 启动OpenSSH服务器 .......................................................18
18.3.4 授权密钥: 自动登录 ......................................18
18.3.5 ssh-agent: 存放你的私钥 ......................................................21
18.3.6 命令行选项 ....................................................22
18.3.7 /etc/ssh/sshd_config配置文件 ........................................................22
18.4 排除故障 .....................................................................24
18.5 隧道/端口转发 ............................................................26
18.5.1 转发X11 .........................................................26
18.5.2 端口转发 ........................................................27
18.6 本章小结 .....................................................................28
18.7 练习 .............................................................................29
18.8 高级练习 .....................................................................29
第19章 FTP:通过网络传输文件 .....................................30
19.1 FTP简介 ......................................................................31
19.1.1 安全 ...............................................................31
19.1.2 FTP连接 ..........................................................32
19.1.3 FTP客户端 ......................................................32
19.1.4 更多信息 ........................................................33
19.1.5 注记 ...............................................................33
19.2 运行ftp和sftp的FTP客户端 .........................................33
19.2.1 先决条件 ........................................................33
19.2.2 JumpStart I:使用FTP下载文件 ......................................................................................33
19.2.3 匿名FTP ..........................................................37
19.2.4 自动登录 ........................................................37
19.2.5 二进制与ASCII传输模式 .................................................................................................38
19.2.6FTP规范 ..........................................................38
19.3 建立FTP服务器(vsftpd) .........................................42
19.3.1 先决条件 ........................................................42
19.3.2 注记 ...............................................................42
19.3.3 JumpStart II:启动vsftpd FTP服务器 ..............................................................................43
19.3.4 故障排除 ........................................................43
19.3.5 配置vsftpd服务器 ..........................................44
19.4 本章小结 .....................................................................56
19.5 练习 .............................................................................57
19.6 高级练习 .....................................................................57
第20章 sendmail:设置邮件服务器、客户端及更多 .............................................58
20.1 sendmail简介 ...............................................................59
20.1.1 出站电子邮件 ................................................60
20.1.2 入站电子邮件 ................................................60
20.1.3 sendmail的替代品 ..........................................60
20.1.4 更多信息 ........................................................61
20.2 设置sendmail邮件服务器 ............................................62
20.2.1 先决条件 ........................................................62
20.2.2 注记 ...............................................................62
20.3 JumpStart I:在客户端配置sendmail .............................................................63
20.4 JumpStart II:在服务器上配置sendmail ...................................................64
20.5 使用sendmail消息 ........................................................64
20.5.1 邮件日志 ........................................................65
20.5.2 别名和转发 ....................................................66
20.5.3 相关程序 ........................................................68
20.6 配置sendmail ...............................................................68
20.6.1 sendmail.mc 和 sendmail.cf 文件 ................................................69
20.6.2 /etc/mail目录中的其他文件 .............................................................................................71
20.7 SpamAssassin ..............................................................73
20.7.1 SpamAssassin的工作原理 ................................................................................74
20.7.2 先决条件 ........................................................74
20.7.3 测试SpamAssassin .........................................75
20.7.4 配置SpamAssassin .........................................76
20.8 其他电子邮件工具 ......................................................80
20.8.1 Webmail ..........................................................80
20.8.2 邮件列表 ........................................................82
20.8.3 设置IMAP或POP3邮件服务器 ......................................................85
20.9 基于身份认证的转发 ..................................................85
20.10 本章小结 .....................................................................87
20.11 练习 .............................................................................88
20.12 高级练习 .....................................................................88
第21章 NIS和LDAP ..............................................................90
21.1 NIS简介 .......................................................................91
21.1.1NIS工作原理 ..................................................91
21.1.2 更多信息 ........................................................94
21.2 运行NIS客户端 ............................................................94
21.2.1 先决条件 ........................................................94
21.2.2 注记 ...............................................................95
21.2.3 配置NIS客户端 ..............................................95
21.2.4 客户端故障排除 ............................................97
21.2.5 yppasswd: 更改NIS密码 ...........................................................98
21.3 设置NIS服务器 ..........................................................100
21.3.1 先决条件 ......................................................100
21.3.2 注记 .............................................................101
21.3.3 配置服务器 ..................................................102
21.3.4 服务器故障排除 ..........................................107
21.3.5 NIS密码更新守护进程:yppasswdd ....................................................108
21.4 LDAP .........................................................................109
21.4.1 更多信息 ...................................................... 111
21.5 设置LDAP服务器 ......................................................112
21.5.1 先决条件 ......................................................112
21.5.2 注记 .............................................................112
21.5.3 一步一步设置 ..............................................112
21.6 使用LDAP的工具 ......................................................118
21.6.1 Evolution邮件 ...............................................118
21.7 本章小结 ...................................................................122
21.8 练习 ...........................................................................122
21.9 高级练习 ...................................................................122
第22章 NFS:共享目录层次结构 ................................................124
22.1 NFS简介 ....................................................................126
22.1.1 更多信息 ......................................................128
22.2 运行NFS客户端 .........................................................129
22.2.1 先决条件 ......................................................129
22.2.2 JumpStart I: 挂载远程目录层次结构 .........................................129
22.2.3 mount: 挂载目录层次结构 .............................................130
22.2.4 提高性能 ......................................................133
22.2.5 /etc/fstab: 自动挂载目录层次结构 ........................................134
22.3 设置NFS服务器 .........................................................135
22.3.1 先决条件 ......................................................135
22.3.2 注记 .............................................................136
22.3.3 JumpStart II: 使用system-config-nfs配置NFS服务器(Fedora) ................................136
22.3.4 手动导出目录层次结构 .......................................................................................138
22.3.5 系统在哪里保存NFS挂载信息 .....................................................142
22.3.6 exportfs: 维护导出的目录列表 ............................................143
22.3.7 故障排除 ......................................................144
22.4 automount: 按需挂载目录层次结构 ....................................................145
22.5 本章小结 ...................................................................149
22.6 练习 ...........................................................................149
22.7 高级练习 ...................................................................149
第23章 Samba: Linux和Windows文件和打印机共享 ..................................... 151
23.1 Samba简介 ................................................................152
23.1.1 更多信息 ......................................................153
23.1.2 注记 .............................................................153
23.1.3 Samba用户、用户映射和密码 ...........................................................................154
23.1.4 smbpasswd和pdbedit: 使用Samba用户和密码 .....................................156
23.2 运行Samba客户端 .....................................................157
23.2.1 先决条件 ......................................................157
23.2.2 从Linux使用共享 .........................................157
23.2.3 从Windows使用共享 ....................................................160
23.3 设置Samba服务器 .....................................................161
23.3.1 先决条件 ......................................................161
23.3.2 JumpStart: 使用system-config-samba配置Samba服务器(Fedora) ...........................162
23.3.3 swat: 配置Samba服务器 ...................................................................165
23.3.4 smb.conf: 手动配置Samba服务器 .........................................169
23.4 故障排除 ...................................................................177
23.5 本章小结 ...................................................................180
23.6 练习 ...........................................................................180
23.7 高级练习 ...................................................................181
第24章 DNS/BIND:跟踪域名和IP地址 ..................................................182
24.1 DNS简介 ...................................................................183
24.1.1 节点、域和子域 ..........................................184
24.1.2 区域 .............................................................185
24.1.3 查询 .............................................................186
24.1.4 服务器 ..........................................................187
24.1.5 资源记录 ......................................................188
24.1.6 DNS查询和响应 ..........................................191
24.1.7 反向名称解析 ..............................................192
24.1.8 DNS工作原理 ..............................................194
24.1.9 更多信息 ......................................................194
24.2 设置DNS服务器 ........................................................195
24.2.1 先决条件 ......................................................195
24.2.2 注记 .............................................................196
24.2.3 JumpStart I: 设置DNS缓存 ......................................................197
24.2.4 JumpStart II: 使用system-config-bind设置域(Fedora) .............................................198
24.3 配置DNS服务器 ........................................................203
24.3.1 named.conf: named配置文件 .......................................................203
24.3.2 区域文件 ......................................................205
24.3.3 设置DNS缓存 ..............................................206
24.3.4 DNS粘附记录 ..............................................212
24.3.5 TSIG: 事务签名............................................213
24.3.6 在chroot Jail中运行BIND ...............................................................................................214
24.3.7 故障排除 ......................................................216
24.4 设置不同类型的DNS服务器 ...........................................................217
24.4.1 一个全功能的名称服务器 .............................................................................................218
24.4.2 从服务器 ......................................................222
24.4.3 水平分割的服务器 ......................................222
24.5 本章小结 ...................................................................228
24.6 练习 ...........................................................................228
24.7 高级练习 ...................................................................229
第25章 system-config-firewall和iptables:设置防火墙 ...........................................................230
25.1 JumpStart:使用system-config-firewall构建防火墙 .............................................231
25.2 iptables简介 ...............................................................234
25.2.1 更多信息 .....................................................236
25.2.2 先决条件 ......................................................237
25.2.3 注记 .............................................................238
25.2.4 剖析iptables命令 ..........................................239
25.3 使用iptables构建规则集 ............................................241
25.3.1 命令 .............................................................241
25.3.2 包匹配条件 ..................................................243
25.3.3 显示条件 ......................................................243
25.3.4 匹配扩展 ......................................................244
25.3.5 目标 .............................................................246
25.4 复制规则到内核和从内核复制规则 .......................................................247
25.5 system-config-firewall: 生成规则集 ...............................................................248
25.6 使用NAT共享Internet连接 ........................................250
25.6.1 多个客户端连接到一个Internet连接 ..............................................251
25.6.2 多台服务器连接到一个Internet连接 ....................................................253
25.7 本章小结 ...................................................................254
25.8 练习 ...........................................................................254
25.9 高级练习 ..................................................................255
第26章 Apache(httpd):设置Web服务器 .......................................256
26.1 简介 ...........................................................................257
26.1.1 更多信息 ......................................................258
26.1.2 注记 .............................................................259
26.2 运行Apache Web服务器 ............................................260
26.2.1 先决条件 ......................................................260
26.2.2 JumpStart I: 启动并运行Apache .....................................................................................261
26.3 文件系统布局 ............................................................263
26.4 配置指令 ...................................................................264
26.4.1 指令I: 入门时可能要修改的指令 ..............................................265
26.4.2 上下文和容器 ..............................................270
26.4.3 指令II: 高级指令 ..........................................274
26.5 Fedora/RHEL中的httpd.conf配置文件 ...............................................289
26.5.1 第1部分:全局环境配置 ...............................................................................................289
26.5.2 第2部分:主服务器配置 ...............................................................................................291
26.5.3 第3部分:虚拟主机配置 ...............................................................................................292
26.6 高级配置 ...................................................................293
26.6.1 重定向 ..........................................................293
26.6.2 内容协商 ......................................................293
26.6.3 服务器生成的目录列表(索引) .................................................................................295
26.6.4 虚拟主机 ......................................................295
26.7 故障排除 ...................................................................298
26.8 模块 ...........................................................................299
26.8.1 mod_cgi和CGI脚本 ......................................301
26.8.2 mod_ssl .........................................................302
26.8.3 身份认证模块和.htaccess文件 .................................................304
26.8.4 脚本模块 ......................................................305
26.8.5 多处理模块(MPM).....................................................................................................306
26.9 webalizer: Web流量分析.........................................307
26.10 MRTG:流量负载监控 .............................................307
26.11 错误代码 ...................................................................307
26.12 本章小结 ...................................................................308
26.13 练习 ...........................................................................309
26.14 高级练习 ...................................................................309
第6部分 编程工具
第27章 Bourne Again Shell编程 ...........................................................312
27.1 控制结构 ...................................................................313
27.1.1 if...then ..........................................................314
27.1.2 if...then...else .................................................317
27.1.3 if...then...elif ..................................................319
27.1.4 for...in ............................................................326
27.1.5 for .................................................................328
27.1.6 while .............................................................330
27.1.7 until ..............................................................333
27.1.8 break和continue ............................................336
27.1.9 case ...............................................................336
27.1.10 select ...........................................................343
27.1.11 Here文件 .....................................................345
27.2 文件描述符 ...............................................................347
27.3 参数和变量 ...............................................................351
27.3.1 数组变量 ......................................................352
27.3.2 变量的局部有效性 ......................................353
27.3.3 特殊参数 ......................................................356
27.3.4 位置参数 ......................................................358
27.3.5 扩展Null和Unset变量 .............................................................362
27.4 内置命令 ...................................................................364
27.4.1 type:显示命令信息 .......................................................................................................364
27.4.2 read:接受用户输入 .......................................................................................................365
27.4.3 exec:执行命令或重定向文件描述符 ..........................................................................369
27.4.4 trap:捕获信号 ............................................371
27.4.5 kill:终止一个进程 .....................................375
27.4.6 getopts:解析选项 .......................................375
27.4.7 部分内置命令列表 ......................................378
27.5 表达式 .......................................................................379
27.5.1 数学运算 ......................................................379
27.5.2 逻辑运算(条件表达式) .............................................................................................381
27.5.3 字符串模式匹配 ..........................................382
27.5.4 运算符 ..........................................................383
27.6 shell程序 ....................................................................388
27.6.1 递归的shell脚本 ...........................................389
27.6.2 shell脚本quiz ................................................392
27.7 本章小结 ...................................................................399
27.8 练习 ...........................................................................400
27.9 高级练习 ...................................................................402
第28章 Perl脚本语言 ..........................................................405
28.1 Perl简介 .....................................................................406
28.1.1 更多信息 ......................................................407
28.1.2 帮助 .............................................................407
28.1.3 perldoc ..........................................................407
28.1.4 术语 .............................................................409
28.1.5 运行Perl程序 ................................................410
28.1.6 语法 .............................................................412
28.2 变量 ...........................................................................414
28.2.1 标量变量 ......................................................416
28.2.2 数组变量 ......................................................417
28.2.3 哈希变量 ......................................................420
28.3 控制结构 ...................................................................422
28.3.1 if/unless .........................................................422
28.3.2 if...else ...........................................................424
28.3.3 if...elsif...else .................................................425
28.3.4 foreach/for .....................................................426
28.3.5 last和next ......................................................427
28.3.6 while/until .....................................................429
28.4 使用文件 ...................................................................431
28.5 排序 ...........................................................................435
28.6 子程序 .......................................................................436
28.7 正则表达式 ...............................................................439
28.7.1 语法和“=~”运算符 .....................................................................................................439
28.8 CPAN模块 .................................................................444
28.9 示例 ...........................................................................447
28.10 本章小结 ...................................................................451
28.11 练习 ...........................................................................451
28.12 高级练习 ...................................................................452
第7部分 附录
附录A 正则表达式 ...............................................................454
A.1 字符 ............................................................................455
A.2 分隔符 ........................................................................455
A.3 简单的字符串 ............................................................455
A.4 特殊字符 ....................................................................455
A.4.1 句点 ...............................................................455
A.4.2 方括号 ............................................................456
A.4.3 星号 ...............................................................456
A.4.4 插入符和$符号 ..............................................456
A.4.5 引用特殊字符 ................................................457
A.5 规则 ............................................................................458
A.5.1 最可能的匹配 ................................................458
A.5.2 空的正则表达式 ............................................458
A.6 括号表达式 ................................................................459
A.7 字符串替换 ................................................................459
A.7.1 &符号 ............................................................459
A.7.2 引用数字 ........................................................460
A.8 扩展的正则表达式 .....................................................460
A.9 附录小结 ....................................................................461
附录B 帮助 .............................................................................463
B.1 解决问题.....................................................................464
B.2 查找与Linux相关的信息 ............................................465
B.2.1 文档 ...............................................................465
B.2.2 有用的Linux站点 ..........................................466
B.2.3 Linux新闻组 ..................................................466
B.2.4 邮件列表 ........................................................467
B.2.5 词汇 ...............................................................467
B.2.6 软件 ...............................................................467
B.2.7 Office套件和文字处理器 ..........................................................................469
B.3 指定一个终端.............................................................469
附录C 安全 .............................................................................471
C.1 加密.............................................................................472
C.1.1 公钥(不对称)加密 .......................................................................................................473
C.1.2 对称密钥加密 ................................................474
C.1.3 加密实现 ........................................................475
C.1.4 GnuPG/PGP ...................................................475
C.2 文件安全.....................................................................476
C.3 电子邮件安全.............................................................477
C.3.1 MTA(邮件传输代理) ..................................................................................................477
C.3.2 MUA(邮件用户代理) .................................................................................................477
C.4 网络安全.....................................................................477
C.4.1 网络安全解决方案 ........................................478
C.4.2 网络安全指南 ................................................478
C.5 主机安全.....................................................................480
C.5.1 登录安全 ........................................................481
C.5.2 远程访问安全 ................................................482
C.5.3 病毒和蠕虫 ....................................................482
C.5.4 物理安全 ........................................................483
C.6 安全资源.....................................................................484
C.7 附录小结.....................................................................486
附录D 自由软件的定义 ......................................................487
词汇表 .........................................................................................491
JumpStart索引 .........................................................................542
文件树索引 ................................................................................543
工具索引 .....................................................................................547
主索引 .........................................................................................552
精彩节摘
译 者 序
当博文视点公司的张春雨先生拿着这本书的英文版本找到我的时候,我略微翻了几页就毫不犹豫地答应了下来,并推掉了其他著书的任务,承担并主持这本书的翻译任务,因为我被这本书深深地吸引了。
在Linux系统/网络管理及信息安全领域,我摸爬滚打了十几年,参看了不少Linux书籍,也撰写了几本拙著。我有一个很大的愿望,就是要写这样一本书——即适合Linux入门读者,有一定工作经验也可从中获得更多Linux知识。我一直朝着这个目标努力,也在寻觅翻译这样一本“圣经”。今天,我终于找到了。在这本书中,作者采用通俗易懂的语言和大量的实例,对目前企业应用最为广泛的Fedora和Red Hat Enterprise Linux版本的应用进行了系统、科学、全面的介绍,包括Linux系统管理、互联网服务器搭建、内核编译及执行、命令行使用等重点内容,并且对应用Perl脚本进行自动化管理进行了详细介绍。本书适合广大的Linux从业人员(包括系统和网络管理人员)、Linux爱好者,同时,本书也不失为一本很好的大中专院校Linux系统学习的教材。
我觉得,我有义务为大家翻译并奉献这样一本书。Linux是属于世界的,更是属于中国的。尤其是在Linux盛行的今天,在企业应用逐渐成熟的今天,中国无疑成为Linux企业应用的主战场。越来越多的读者和企业用户都希望能够从书中获取大量的知识,并能够在学习和工作中应用自如。我可以很负责任地告诉大家,这本书就是你们需要的。
为了对大家负责,我在本书译者的选择上精挑细选,成员来自著名企业、高校和研究所,他们都是Linux方面的专家、学者和一线工程师,只有这样的团队,才能准确、科学、全面地翻译这样一本Linux巨著,才能更好地将其奉献给广大读者。本书的主持译者李洋博士,现任国内著名信息安全公司首席技术官(CTO)。十余年来一直从事信息安全和IT架构领域的技术研发和管理工作,曾主持和参与多项国家重点项目,并主导多个电信网络、互联网网络、金融企业网络的IT架构设计、信息安全系统的设计和研发工作。具有丰富的企业信息安全规划、架构设计/建设和管理,企业信息安全解决方案提供及实施,IT架构设计,Linux网络和系统应用、管理、安全及内核的研发经验,曾在IEEE、ACM、51CTO、《计算机世界》、《网管员世界》等国内外知名媒体和期刊上发表SCI/EI学术论文和各类技术文章千余篇,相关著作6部,国家专利4项。此外,参与翻译的作者还有:柴泽楠、靳文佳、张晓明、江扬旺、康宇、宋继阳、吴廷勇、张恒、孙定隆、陈义勇、石依山。
在翻译的过程中,得到了张春雨先生的大力支持,在此表示真挚的感谢。
虽然我们力求完美,但时间紧迫和囿于知识所限,难免出现错误之处,欢迎广大读者批评指正。
李洋
2012年12月于北京
作者简介
Mark G. Sobell是Sobell联合公司的总经理,该公司是一家专注于UNIX和Linux教学、支持和客户软件开发的咨询公司。他拥有超过三十年的UNIX和Linux系统使用经验,同时还是很多畅销书的作者。这些书中包括同时出自Prentice Hall的A Practical Guide to Linux® Commands, Editors, and Shell Programming, Second Edition和A Practical Guide to Ubuntu Linux。
媒体评论
“自从我处于教育环境中,我发现Sobell的书对在企业中管理Linux的人来说是切中目标的,并且非常有帮助。他的写作风格非常清晰。他构建的章节练习中的情景,我觉得是一个用户或管理员在现实世界中将会遇到的。一个IT/IS学生将发现这本书是对其知识的宝贵补充。大量的信息分布非常平衡,Sobell试图用简单的旁白和蜿蜒的散文形式来表现其内容。对在网络环境中管理Linux系统的,或运行Linux服务器的任何人,都是“必须拥有的”。 对转到Linux平台的、有经验的电脑用户,我也强烈推荐本书。”
— Mary Norbury
IT总监
芭芭拉戴维斯中心
位于丹佛的科罗拉多大学
发表在slashdot
“几年前当我在Cal Poly, San Luis Obispo, CA的大学时,我有机会使用您的UNIX书,我不得不说您的书是最好的!它们是操作系统理论和应用方面的高质量书籍。”
— Benton Chan
IS工程师
“这本书超出了我从所读的许多评论中累积起来的期望,即使其目标是FC2。我发现书中有些东西非常罕见:它不像阅读标准技术文本,它读起来更像是一个故事。阅读它有种快感,使我难以放下。我还能说什么呢?! :-)”
— David Hopkins
业务流程架构师
“感谢您的工作和您写的书。只有真正的几本书可以帮助人们对管理不同的工作站变得更有效率。我们希望您会继续把我们对Linux / UNIX系统的了解带到一个新的水平。”
— Anton Petukhov
“Mark Sobell写了一本接近权威的书。”
— Jeffrey Bianchine
倡导者、作家、记者
“这是一本优秀的参考书,非常适合Linux集群的系统管理员,或最近考虑安装稳定的Linux的PC所有者。不要因畏惧书的分量而放弃。Sobell尝试预测您的系统管理需求,然后尽可能地将其包容。”
— Wes Boudville
发明者
“A Practical Guide to Red Hat Linux是一本非常杰出的书,谢谢Mark Sobell。”
— C. Pozrikidis.
圣地亚哥加州大学
“这本书是我发现的介绍Linux操作系统的最好概述……无论读者什么背景,它应该都是非常有益的、易于理解的:传统UNIX用户,新的Linux爱好者,甚至Windows用户。每个主题都提出了一个清晰、完整时尚且对读者所了解知识的极少假设……这本书作为参考是非常有用的,因为它包含70页带有非常好索引的术语表。”
— Cam Marshall
Marshall 信息服务有限公司
(UNIX高级会员)
FRUUG用户组
科罗拉多州博尔德
“总而言之,如果你是一个新的Linux用户,并且你刚刚进入RH/Fedora世界,这是一本好书。目前还没有以这样的深度讨论了这么多不同主题的其他书籍”
— Eugerzia Loli-Queru
主编
OSNews.com
“这本书对想了解内容的任何人来说,都是一个非常有用的工具,并且真正开始把Linux的功能带入工作中。我发现手册页,特别令人沮丧的是,它们从来没有包括例子,而Sobell却概括得很清楚:命令做什么,然后给出了几种常见的、容易理解的例子,开始感觉自己的shell编程是一件轻而易举的事。就如Sobell的其他作品,这是简单、直接、易于阅读的。这是一本伟大的书,将在很长一段时间内留在我的案头书架上。”
— Ray Bartlett
旅行作家
“总的来说,我发现这本书是相当出色的,它已经在我的书架非常靠前的位置赢得了一席之地。它涵盖了Linux真正的内涵:命令行和实用程序,并且做得很好。它的强项是突出的例子、命令参考部分。强烈推荐给所有技能水平的Linux用户。Mark Sobell和PrenticeHall为这本杰出的书付出了很多努力!”
— Dan Clough
电子工程师和
Slackware Linux 用户
“完全不像大多数Linux的书籍,这本书避免使用图形用户界面,而是跳到对你友好的命令行功能来讨论任何主题。”
— Bjorn Tipling
软件工程师
ask.com
“这本书是我见过的、我读过的几十本Linux相关书籍中最好的与发行版无关的、基本的Linux参考书。发现这本书是一个真正的幸运。如果你想真正了解在命令行中如何做好事情,以及自由的类UNIX操作系统的真正的强大功能和灵活性,你会发现这本书是实现这一目标的最佳工具。”
— Chad Perrin
Tech Republic作家
“我目前拥有一本您的书,A Practical Guide to Linux。我相信这本书正如标题所说的,是一个最全面的、我读过的Linux实用指南。我认为对于我这样的新手,我会一遍又一遍地来阅读这本书。”
— Albert J. Nguyen
“谢谢你写了这本书来帮我摆脱Windows XP和从未接触的Windows Vista。这本书是伟大的,使我学习了很多新的概念和命令。Linux无疑变得更容易使用。”
— James Moritz
“我印象非常深刻的是,Mark Sobell可以以这样易于理解的方式介绍一个复杂的话题。他的关于命令的例子,为新手(甚至是高手)管理员如何在Linux上实现现实世界的任务提供了‘食谱’,是非常有用的。他是一个真正有灵感的技术作家!”
— George Vish II
高级教育顾问
惠普公司
“总的来说,我认为这是一本伟大的、全面的Ubuntu的书,它对所有技术水平的人都将是一个宝贵的资源。”
— ]ohn Dong
Ubuntu 论坛理事会成员
Backports 小组负责人
“JumpStart部分真正提供了一个快速的、使问题清晰,并在以后能够使你进入书中细节的方法。”
— Scott Mann
Aztek Networks
“我如此热爱并使用本书来教课,它不只是关于Ubuntu或Linux的,而且还关于一般的计算机。它使用能够解释计算机应用的重要概念的好插图,它非常完整、非常好。”
— Nathan Eckenrode
纽约当地社区小组
“Ubuntu以像酒精被禁止却迅速普及的速度获得了普及,很高兴看到一个著名作家写的一本最新和最伟大的版本。它不仅包含Ubuntu的具体信息,而且也涉及一般计算机的相关主题,这将帮助普通计算机用户更好地了解在后台发生了什么事情。伟大的工作,Mark!”
— Daniel R. Arfsten
Pro/ENGINEER 起草人/设计师
“我每天都读很多有关Linux的技术信息,但我很少对科技书籍留下深刻印象。我平时喜欢在线信息资源。Mark Sobell的书是一个值得注意的例外。内容写得很清楚,技术上准确、全面,实际上我非常享受阅读。”
— Matthew Miller
高级系统分析师/系统管理员
BU Linux 项目
资讯科技波士顿大学办公室
“这本书写得很好、很清晰,关于Linux用户的任何类型的综合信息,不管你第一次尝试Ubuntu,想知道它的一点信息,还是当你做一些像设置服务器这样更复杂的工作时,本书都会成为很好的参考书。这本书的价值远远超出其购买价,会成为你书架上的Linux部分的一本伟大的书。“
— Linc Fessenden
LinuxLink TechShow主持人
tllts.org
“笔者在诠释这样一个注重细节的操作系统方面做了很好的工作。我有广泛的UNIX和Windows经验,本书在缩小Linux、Windows和UNIX之间的差距上做了非常出色的工作。不管是新用户还是有经验的用户,我都极力推荐本书。杰出的工作!”
— Mark Polczynski
资讯科技顾问
“当我刚开始使用Linux工作时,虽然只有短短十年左右,但比现在要多了几分困难……现在,新手在网络上的资源繁多,或如果他们倾向于使用Ubuntu开始,他们仅从MarkSobell的A Practical Guide to Ubuntu Linux这一本书上,从字面上就能找到他们需要的任何内容。”
“我敢肯定,这听起来有点夸张。一个人需要知道每件事情吗?显然不是每件事情,但是这本书,篇幅略低于1200页,却覆盖得如此之多、如此之彻底,以至于漏下的内容所剩无几。从安装到管理、网络、安全、shell脚本、包管理和许多其他主题,书中应有尽有。GUI和命令行工具也都包括在内。真的没有任何浪费的空间或错误,只包含巨大的信息。在适当的时候会有屏幕截图,但它们不占用过多的空间。这本书是信息密集型的。”
— JR Peck
编辑
GeekBook.org
“我一直想跳到Linux,但没有胆量这样做,直到我在书店看到A Practical Guide to Red Hat
Linux这本书。”
— Carmine Stoffo
制药行业的机床和工艺设计
“我目前正在读A Practical Guide to Red Hat Linux一书,我终于理解了命令行的真正功能。我是Linux新手,这本书是个宝贝。”
— Juan Gonzalez
“总体来说,Mark G. Sobell的A Practical Guide to Ubuntu Linux一书提供了一个初学者到一个高效率的中级用户所需要的所有信息。Ubuntu的Gutsy Gibbon发行版的Live DVD,使用户测试和驱动Linux很容易,且不影响他安装的操作系统。我毫不怀疑,你会认为这本书的钱花得值。”
— Ray Lodato
Slashdot 撰稿人
www.slashdot.org
前言
本书
无论你是一个最终用户还是系统管理员或两者都是,本书通过例子,阐述了如何最有效地使用Fedora或RHEL(Red Hat Enterprise Linux)系统。本书共28章,涵盖了从安装Fedora/RHEL系统,了解其内部运作,到设置系统安全服务器的全部内容。
适合的读者
本书适合各个行业的读者。不需要你有编程经验,当然有一些使用通用计算机的经验会更好,例如Windows、Macintosh、UNIX或其他Linux系统。本书适合以下读者:
• 使用Linux上课的学生
• 想要安装和/或运行Linux的家庭用户
• 使用Linux工作的专业人员
• 需要了解Linux及其工具的系统管理员,包括了解Bash和Perl脚本语言
• 学习Linux操作系统的计算机科学专业的学生
• 想要深入学习Linux的技术主管
优势
本书从Fedora/RHEL的安装开始,通过Fedora/RHEL的使用和个性化定制,让你广泛了解Linux的各个层面。不管你是什么背景,本书都会给你提供工作所需的知识。你将会从本书中了解如何使用Linux,并且今后几年这本书对你仍将有参考价值。
本版特色
本版本涵盖了许多主题,以帮助你使用Fedora/RHEL完成工作。
• 介绍Perl编程语言(第28章)。
• 7章的系统管理(第4部分)。
• 使用bash编程(第27章)。
• 第21章全面介绍LDAP。
• 第16章全面介绍MySQL关系数据库。
• 第17章的一节介绍Cacti网络监控工具。
• 包含的新内容:第10章的IPv6。
• 更新的章节反映了Fedora 15和RHEL 6的新特性。
• 4大索引,让你更容易且快速找到所需的内容。这些索引定位表格(含有字母t的页码)、提供定义(斜体页码)并区分简要描述和详细描述(浅色字体和标准字体)。
◆ Jumpstart(内容速览)索引(参见1199页)列出了本书所有的JumpStart章节。这些章节可以帮你快速设置服务器和客户端。
◆ 文件树索引(参见1201页)以分层方式列出了本书提到的大多数文件。主索引也列出了这些文件。
◆ 工具索引(参见1205页)提供了本书提到的所有工具的位置。浅色字体页码表示工具的简要描述,而常规字体表示工具的详细描述。
◆ 修订后的主索引(参见1211页)更突出易用性。
重叠
如果你读过A Practical Guide to Linux® Commands, Editors, and Shell Programming, Second Edition一书,你会发现那本书和你现在正读的这本书之间有一些重叠。其中第1章、工具和文件系统的章节、附录中的正则表达式以及词汇表都非常相似,有关Bourne Again Shell(bash)的三个章节和Perl章节也是如此。本书有而第二版没有的内容包括第2章、第3章(安装)、第4章、第8章(Fedora/RHEL和GUI)、第10章(网络)以及第4部分(系统管理)和第5部分(服务器)的所有章节和附录C(安全)。
区别
本书介绍了如何从图形界面和命令行(文本界面)使用Linux,而A Practical Guide to LinuxCommands, Editors, and Shell Programming, Second Edition一书则完全基于Linux命令行以及除此之外的Mac OS X。它包括了vim和emacs编辑器的完整章节以及gawk模式处理语言、sed流编辑器和rsync安全复制工具章节。此外,它有一个命令参考章节,提供了Linux和Mac OS X最重要的100个工具的应用示例,可以使用这些工具来解决一些问题而无须诉诸C编程。
本书特点
本书的设计和组织让你能在最短的时间内从中获得最多的知识。不必直接通过页面顺序逐页阅读本书,相反,如果你使用Linux还算顺手的话,可以把本书当做参考:在目录或索引中查找感兴趣的主题,并阅读它;或把本书当做Linux主题的目录册:翻阅页面,直到一个主题吸引住你的眼球。书中包含许多网站链接,在那里可以获得更多的信息:可以把互联网当做本书的延伸。
本书的组织结构具有以下特点:
• Fedora和Red Hat Enterprise Linux:本书中的术语“Fedora/RHEL”指的是Fedora和Red Hat Enterprise Linux两者。对于只适用其中一个操作系统的特性,使用这些标志来标示:(Fedora)或(RHEL)。
• 选读部分:当你准备深入研究时,选读部分可以让你阅读到不同级别的更难的内容。
• 注意框:强调容易出错的步骤,在你陷入困境之前给出指导。
• 提示框:强调节省时间的方法或是另外有趣的信息。
• 安全框:给出了更安全使用系统的注意事项。安全附录提供了系统安全性问题的快速指南。
• 实例:贯穿全书的概念通过实例加以阐述。
• 目标:每章开头列出本章目标和阅读本章后,你应该能够执行的重要任务清单。
• 本章小结:回顾每章的要点。
• 复习题:每章末尾都有复习题提供给需要的读者,可以进一步训练自己的技能。偶数题号的练习题的答案张贴在www.sobell.com网站上。
• 词汇表:定义了500多个经常遇到的术语。
• JumpStart(内容速览):涵盖服务器的每个章节包含的JumpStart部分可以使你在客户端使用和服务器设置方面迅速入门。一旦服务器启动并运行,可以试验和修改其配置,这些在每个章节的其余部分做了阐述。
• 查找软件、下载和安装:本书提供了在互联网上查找软件的资源。本书也阐述了如何使用yum下载和安装软件以及添加/删除软件窗口、BT下载和专门用于RHEL的Red Hat网络(RHN)。它详细介绍了如何使用软件更新窗口工具配置自动更新功能。
• GNU工具:这本书详细描述了一些重要的GNU工具,包括GNOME桌面、Nautilus文件浏览器、分区编辑器(包括parted、palimpsest和gparted)、gzip压缩工具以及许多来自GNU项目的命令行工具。
• 在线文档:可以从本地系统、Fedora/RHEL网站以及互联网上的其他位置获取在线提供的帮助文档。
• 综合索引:多个综合索引可以帮助你方便快捷地找到主题。
本书包含的重点内容
本节提炼和总结了本书所涵盖的信息。此外,后面的“本书内容(细节)”小节介绍了每章涵盖的内容。目录部分提供了更多的细节。
安装
• 介绍如何从互联网下载Fedora的ISO映像,并刻录Fedora Live CD或Fedora安装DVD。
• 帮助你规划系统的硬盘布局。包含对分区、分区表和挂载点的讨论,并协助你使用Disk Druid、GNOME palimpsest 磁盘工具或者基于图形的gparted分区编辑器检查和分区硬盘。
• 阐述如何建立一个双引导系统,这样就可以在Windows系统上安装Fedora/RHEL系统并且可以启动任何一个操作系统。
• 讨论了如何引导到live Fedora会话,并从会话中安装Fedora。
• 详细描述了如何使用Fedora/RHEL安装程序Anaconda,从DVD安装盘安装Fedora/RHEL。
• 涵盖了Fedora/RHEL CD/DVD缺陷检测、引导命令行参数(引导选项)设置以及RAID阵列创建。
• 阐述了如何使用逻辑卷管理器(LVM2)设置、扩展和迁移逻辑卷,这在功能上与传统的磁盘分区类似。
使用Fedora/RHEL
介绍了GNOME桌面(GUI)以及阐述了如• 何使用桌面工具,包括面板、面板对象、主菜单、上下文菜单对象、工作区切换器、Nautilus文件浏览器和GNOME终端仿真器。
• 有三个章节包含Bourne Again Shell(bash)内容,其中包括一整章的shell编程,这三章包含许多shell脚本例子。这些章节提供了清晰的说明和丰富的例子,包括如何使用bash通过命令行执行日常工作以及如何编写shell脚本。
• 阐述了基于文本(命令行)的界面,并介绍了30多个命令行工具。
• 提供了vim文本编辑器的教程。
• 涵盖了网络类型、网络协议(包括IPv6)和网络工具。
• 阐述了主机名、IP地址和子网,并探讨如何使用host和dig查询互联网上的域名和IP地址。
• 涵盖了分布式计算和客户端/服务器模式。
• 阐述了如何使用ACL(访问控制列表)调整用户的访问权限。
CentOS
• 描述了CentOS操作系统与RHEL的良好兼容性。 CentOS(www.centos.org)是一个免费的Linux发行版,比Fedora历史更悠久、更稳定,但在技术支持方面比不上RHEL。系统管理
• 阐述如何使用Fedora/RHEL图形和文本(命令行)工具来配置显示参数、DNS、NFS、Samba、Apache、防火墙、网络接口以及更多。还可以使用这些工具来添加用户以及管理本地和远程打印机。
• 描述如何使用su切换到root权限(成为超级用户)以及在最高权限中工作的优点和风险。
• 详细描述了如何使用sudo使特定的用户具有root权限以及通过编辑sudoers配置文件来自定义sudo的工作方式。
• 描述如何使用以下工具下载和安装软件,以保持系统及其软件最新。
◆ 如果你没有连接互联网,则可以使用Software Update Preferences(软件更新首选项)窗口工具,将本书提供的软件库DVD设置为软件源。然后,可以利用Fedora/RHEL提供的这个软件包仓库来安装软件。
◆ 取决于你如何在软件更新窗口中设置更新,Software Update(软件更新)窗口显示在桌面上,并告诉你软件更新何时可用。可以从软件更新窗口下载并安装更新。
◆ Add/Remove Software(添加/删除软件)窗口提供了一个简便的方法,以便选择、下载和安装各种各样的软件包。
◆ yum工具从互联网上下载并安装软件包,保持系统最新以及解决处理软件包时产生的依赖关系。
◆ 在分发大量数据资料时,BitTorrent是一个不错的选择,例如Fedora/RHEL安装DVD和CD。使用BitTorrent下载文件的人越多,它的下载速度就越快。
• 涵盖了一些图形系统管理工具,包括GNOME主菜单提供的许多工具。
• 阐述系统的运作原理,包括引导过程、init脚本、救援(单用户)模式和多用户模式以及系统崩溃时要采取的措施。
• 详细介绍了新的systemd init daemon,它取代了Upstart和System V init守护进程(Fedora)。
• 描述如何使用和编写新的Upstart init daemon,它取代了System V init守护进程(RHEL)。
• 阐述如何设置和使用Cacti网络监控工具来图示系统和网络信息,还包括如何安装和设置LAMP(Linux、Apache、MySQL和PHP)软件栈。
• 提供安装和设置MySQL关系数据库的说明。
• 描述了文件、目录和文件系统,包括文件类型、fstab(文件系统表)以及自动挂载的文件系统,并阐述如何调整和检查文件系统的完整性。
• 涵盖了备份工具,包括tar和cpio。
• 描述了压缩/归档工具,包括gzip、bzip2、compress和zip。
• 阐述如何定制和构建Linux内核。
安全
• 使用ssh(安全的shell)、vsftpd(安全的FTP服务器)、Apache(Web服务器)、iptables(防火墙)以及更多的工具助你管理基本的系统安全性问题。
• 描述如何使用基于图形的system-config-firewall工具保护系统。
• 提供有关使用iptables通过LAN共享Internet连接以及建立高级防火墙的说明。
• 提供了一整节的SELinux(安全增强型Linux)内容,包括使用system-configselinux配置SELinux的说明。
• 描述了如何设置chroot jail以帮助保护服务器系统。
• 阐述如何使用TCP wrappers来控制谁可以访问服务器。
客户端和服务器
• 阐述如何设置和使用最常见的Linux服务器,每一章对应一种服务器:Apache、Samba、OpenSSH、sendmail、DNS、NFS、FTP、system-config-firewall和iptables以及NIS/LDAP。
• 描述如何设置CUPS打印机服务器。
• 阐述如何设置和使用MySQL关系型数据库。
• 描述如何设置和使用DHCP服务器。
编程
• 提供了一章Perl编程语言介绍以及一整章使用bash进行shell编程的内容。
本书内容(细节)
第1章
第1章介绍了Linux的简短历史,并阐述了一些最前沿的操作系统特性。其中“本书约定”一节详细说明了书中使用的术语和字样。
第1部分
第1部分“安装Fedora/RHEL Linux”介绍了如何安装Fedora/RHEL Linux系统。第2章概要介绍了Fedora/RHEL Linux的安装过程,包括硬件要求、下载并刻录CD或DVD以及规划硬盘分区。第3章给出一步一步安装Fedora和RHEL的指南,涵盖了从CD/DVD和从live 会话(Fedora)进行的安装。
第2部分
第2部分“Fedora/RHEL入门”让你熟悉Fedora/RHEL,涵盖了登录、GUI、工具、文件系统以及shell。第4章介绍了桌面功能,包括面板和主菜单;阐述如何使用Nautilus文件浏览器来管理文件、运行程序以及连接到FTP和HTTP服务器;涵盖文档查找、登录问题处理和窗口管理器使用;提供一些在哪里可以找到文档的建议,包括手册、教程、软件说明和HOWTO文档。第5章介绍了shell命令行界面,描述了30多个有用的工具,并提供了vim文本编辑器的教程。第6章讨论了Linux分层文件系统,涵盖文件、文件名、路径名、目录使用、访问权限以及硬链接和符号链接。第7章介绍了Bourne Again Shell(bash),并讨论了命令行参数和选项、输入和输出重定向命令、在后台运行程序以及使用shell生成和扩展文件名。有经验的用户可能要略过第2部分提示
如果之前用过UNIX或Linux系统,你可能想要略过或跳过第2部分的部分或全部章节。两个不应该跳过的小节是:“本书约定”(参见英文原书页码第18页),阐述了本书使用的排版和布局约定;“在哪里可以找到文档”(参见英文原书页码第125页),指出Linux和Fedora/RHEL文档的本地和远程来源。
第3部分
第3部分“Fedora/RHEL深入挖掘”详述了系统使用的更多细节。第8章讨论了GUI(桌面)和远程运行图形化程序并在本地显示界面。GNOME一节介绍了几种GNOME工具并深入讲解了Nautilus文件浏览器。第9章扩展了第7章涵盖的bash内容,阐述了如何重定向错误输出、避免覆盖文件以及使用作业控制、进程、启动文件、重要的shell内置命令、参数、shell变量和别名。第10章阐述了网络、网络安全以及互联网,并讨论了网络类型、子网、协议、地址、主机名以及各种网络工具。一个新的小节涵盖了更重要的IPv6协议。“分布式计算”一节描述了客户端/服务器模式和一些可以在网络上使用的服务器。(客户端和服务器的详细设置和使用保留至第5部分)
第4部分
第4部分涵盖了系统管理。第11章讨论核心概念,如su和sudo的使用;root权限的使用;SELinux(安全增强型Linux);系统运行,包括对Upstart(RHEL)和systemd(Fedora)init守护进程(Fedora)的讨论;chroot jail;TCP wrapper;服务器设置的常规信息;DHCP和PAM。第12章阐述了Linux文件系统,详细讲解了文件类型,包括特殊文件和设备文件;使用fsck验证文件系统的完整性和修复文件系统以及使用tune2fs更改文件系统参数。第13章,阐述了如何使用互联网下载和安装软件以保持系统最新,包括一些使用yum执行这些任务的例子。它还涵盖了RPM软件打包系统和rpm工具的使用。最后,阐述了如何使用BitTorrent从命令行中下载文件。第14章阐述了如何设置CUPS打印系统,以便可以在本地和远程系统上进行打印。第15章详细介绍了Linux内核的定制和构建。第16章涵盖了其他管理任务,包括设置用户账户、备份文件、调度自动化任务、跟踪磁盘使用情况、解决一般问题以及设置MySQL关系数据库。第17章阐述了如何设置局域网(LAN),包括硬件(包含无线)和软件配置以及如何设置Cacti进行网络监控。
第5部分
第5部分详细讲解了服务器的设置和运行以及如何使用客户端连接这些服务器。这些章节的适当位置包含了JumpStart部分,当使用客户端或进行服务器设置时,JumpStart可以让你迅速入门。第5部分的章节涵盖以下客户端/服务器:
• OpenSSH——设置OpenSSH服务器以及使用ssh、scp和sftp安全地进行互联网通信。
• FTP——设置安全的FTP服务器vsftpd和使用几种FTP客户端与服务器交换文件。
• Email——配置sendmail和使用Webmail、POP3或IMAP检索电子邮件;使用SpamAssassin来抵制垃圾邮件。
• NIS和LDAP——设置NIS以方便局域网系统管理,设置LDAP以维护数据库。
• NFS——在网络上的各个系统之间共享文件。
• Samba——在Windows和Linux系统之间共享文件和打印机。
• DNS/BIND——设置域名服务器,以便让互联网上的其他系统获悉其要连接的本地系统的名称和IP地址。
• system-config-firewall和 iptables——设置防火墙以保护本地系统以及在局域网上共享单个Internet连接。
• Apache——设置HTTP服务器,用来提供网页服务。本章包括提出的很多建议。本章还包括一些增强Apache安全性的建议。
第6部分
第6部分涵盖了两个重要的编程工具,这两个工具广泛应用在Fedora/RHEL系统管理和通用编程领域。第27章继续第9章的内容,更深入地探讨了使用bash进行shell编程及其更丰富的例子。第28章介绍了流行的、功能丰富的Perl编程语言,包括正则表达式和文件处理。第7部分
第7部分附录包括正则表达式、有用的网站、系统安全和自由软件。这部分还包括一个丰富的词汇表再加上500多项的JumpStart索引、文件树索引、工具索引和主索引。
补充
作者的主页(www.sobell.com)包含一些较长程序的下载列表,以及许多有趣且有用的Linux网站地址,还有本书的更正列表和偶数序号练习题的答案,并向读者征求对本书的更正、意见和建议。
致谢
首先,我要感谢Prentice Hall出版社的总编辑Mark L. Taub,正是他的鼓励和支持才使这个项目度过了最艰难的岁月。Mark是我30年著书历程中唯一一个全程使用书中工具的编辑。因为Mark家中电脑上运行着Linux系统,因此写这本书时可以与我分享经验。Mark,你的意见和指导是非常宝贵的,没有你的帮助,也就不会有本书的存在。谢谢你,Mark T。
与Prentice Hall出版社的制作人进行了出色的合作:制作经理Julie Nahil在本书制作过程提
供了全方位的服务,为我提供夜以继日的帮助并使一切按正轨运行;总编辑John Fuller为本书拓展了视野。感谢Bob Campbell和Linda Seifert,正是他们的逐页校对,才使笔者留下错误得到修正。
还要感谢促成本书的Prentice Hall出版社的其他职员,特别是编辑助理Kim Boedigheimer,他参与了与本书出版相关的许多细节;公关人员Heather Fox、市场营销经理StephaneNakib、媒体设计师Dan Scherf、高级索引者Cheryl Lenser、设计经理Sandra Schroeder、封面设计师ChutiPrasertsith以及在幕后为本书工作的每个人。
Lauber系统解决方案公司的Susan Lauber也为本书倾注了很多心血。她审查了本书草稿的许多章节,提供了贯穿全书的见解、技巧和修正。她还帮助审阅了书中的目标和练习。她在Fedora/RHEL系统知识方面的深度和广度给我留下了非常深刻的印象。
我还要感谢免费在线电脑辞典(FOLDOC)的编辑Denis Howe。Denis非常慷慨地允许我使用他编纂的条目。请务必访问www.foldoc.org站点来查阅这本字典。
我要大大感谢阅读过本书草稿的人们,正是他们提出的意见使本书的部分章节更加清晰和有条理:系统资深设计和管理员Doug Hughes对系统管理章节提供了很大支持;谷歌网站可靠性工程师Richard Woodbury在IPv6方面的学识为本书提供了非常宝贵的建议;Intrepidus公司的Max Sobell;Red Hat公司的Lennart Poettering;惠普公司高级教育顾问George Vish II;波士顿大学信息技术办公室的高级系统分析员/系统管理员Matthew Miller;Garth Snyder;NathanHandler;Anne Arundel社区学院名誉教授Dick Seabrook;Audacious软件公司的Chris Karr;ITT技术学院的讲师Scott McCrea。
还要感谢以下为我先前Linux书籍提供帮助的人们,这些书籍为本书提供了基础:论坛理事会成员,Ubuntu开发者John Dong;Land the Tech Job You Love: Why Skill and Luck Are NotEnough一书的作者Andy Lester;Ubuntu开发经理和桌面小组负责人Scott James Remnant;Swansea大学的David Chisnall;Aztek网络的Scott Mann;Mansueto风险投资的ThomasAchtemichuk;专家/工程师/设计师Daniel R. Arfsten;惠普教育服务高级教育顾问Chris Cooper;旧金山州立大学信息系统副教授Sameer Verma;Palomar学院和程序员协会的Valerie Chau;James Kratzer;Sean McAllister;纽约Ubuntu社区团队的Nathan Eckenrode;Christer Edwards;Nicolas Merline;Michael Price;Ubuntu社区和论坛理事会成员Mike Basinger;Ubuntu论坛工作人员Joe Barker;Systemateka公司的James Stockford;Book Oven的StephanieTroeth;Doug Sheppard;OpenGeoSolutions的IT总监Bryan Helvey以及FlintBaker学院的Vann Scott。此外,感谢Fedora项目的Jesse Keating;软件工程师和KDE开发人员Carsten Pfeiffer;Ximian的Aaron Weber;CritterDesign软件开发人员Cristof Falk;普林斯顿大学计算机科学系的Steve Elgersma;明尼苏达大学的Scott Dier;计算机网络工程的Robert Haskins;哈佛大学的Lars Kellogg-Stedman;Privateer系统首席系统顾问Jim A. Lola;Open Source Initiative创始人之一Eric S. Raymond;Scott Mann;独立计算机顾问Randall Lechlitner;蒙哥马利县社区学院计算机科学讲师Jason Wertz;Solano社区学院的Justin Howell;快速学习中心的Ed Sawicki;David Mercer;作为倡导者、作家和记者的Jeffrey Bianchine;John Kennedy以及星光技术服务公司的Jim Dennis。
还要感谢Puryear信息技术公司的Dustin Puryear;独立顾问Gabor Liptak;iPost首席技术官Bart Schaefer;Linux在线的Web开发人员Michael J. Jordan;SuperAnt.com所有者Steven Gibson;
安全软件公司的创始人和首席科学家John Viega;环球电讯公司互联网安全分析师K. Rachael Treu;K & S Pritchard公司的Kara Pritchard;Capital One财务公司的Glen Wiley;Look-smart 高级软件工程师KarelBaloun;Matthew Whitworth;诺基亚系统公司的Dameon D. Welch- Abernathy;顾问Josh Simon;Stan Isaacs以及Herrin软件开发公司的副总裁Eric H. Herrin II博士。
更要感谢顾问Lorraine Callahan和Steve Wampler;Graburn技术公司的Ronald Hiller;韦恩州立大学的Charles A. Plater;Bob Palowoda;Sun Microsystems公司的Tom Bialaski;网络联盟TIS实验室的Roger Hartmuller;Kaowen Liu;Andy Spitzer;Rik Schneider;Jesse St. Laurent;Steve Bellenot;Ray W. Hiltbrand;Jennifer Witham;Gert-Jan Hagenaars;以及Casper Dik。
本书基于我之前的两本UNIX书籍:UNIX System V: A Practical Guide和A Practical Guide to the UNIX System。在此要感谢审阅这些书的人们:Pat Parseghian;Kathleen Hemenway博士;Brian LaRose;Clark Atlanta大学的Byron A. Jeff;Charles Stross;朗讯科技公司的Jeff Gitlin;Kurt Hockenbury;英特尔以色列公司的Maury Bach;Peter H. Salus;宾夕法尼亚大学的Rahul Dave;智能算法解决方案公司的Sean Walton;计算机科学公司的Tim Segall;DeAnza学院的BehrouzForouzan;弗吉尼亚理工学院和州立大学的Mike Keenan;俄勒冈州立大学的Mike Johnson;马里兰大学的Jandelyn Plane;佐治亚理工学院的Arnold Robbins和SathisMenon;弗吉尼亚理工学院和州立大学的Cliff Shaffer;以及加州州立大学Northridge分校的Steven Stepanek。
仍然要感谢为我早期版本的UNIX书籍提供帮助的人们。特别感谢向我介绍UNIX系统的Roger Sippl、Laura King和Roy Harrington。我的母亲Helen Sobell博士也为本书的原始手稿提供了宝贵的意见。此外,感谢Isaac Rabinovitch、Raphael Finkel教授、Randolph Bentson教授、Bob Greenberg、Udo Pooch教授、Judy Ross、Robert Veroff博士、Mike Denny博士、Joe DiMartino、John Mashey博士、Diane Schulz、Robert Jung、Charles Whitaker、Don Cragun、Brian Dougherty、Robert Fish博士、Guy Harris、Ping Liao、Gary Lindgren、Jarrett Rosenberg博士、Peter Smith博士、Bill Weber、Mike Bianchi、Scooter Morris、Clarke Echols、Oliver Grillmeyer、David Korn博士、Scott Weikart博士以及Richard Curtis博士。
我为本书的任何错误和遗漏负责。如果你找到一个问题或仅仅是一个建议,都请发邮件给我:[email protected],我会在下次印刷时修正它。我的主页www.sobell.com包含一个错误列表和发现这些错误的人员光荣榜,主页中还提供了本书较长脚本的副本,并链接了互联网上一些有趣的Linux网页。你还可以在twitter.com/marksobell上与我交互。
Mark G. Sobell
美国加利福尼亚州旧金山