登录 注册
当前位置:主页 > 资源下载 > 50 > \"全面解析RED HAT LINUX 6\

\"全面解析RED HAT LINUX 6\

  • 更新:2024-05-20 23:45:02
  • 大小:27.71MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Linux - 操作系统
  • 格式:RAR

资源介绍

本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 第1章 Red Hat Linux和UNIX简介 1 1.1 Linux的优点 2 1.2 版权和保证 3 1.3 在哪里可以获取Red Hat Linux 3 1.4 系统需求 3 1.5 小结 4 第2章 Red Hat系统的安装 5 2.1 准备,认真准备 5 2.2 安装Red Hat Linux 6 2.2.1 创建引导盘和辅助盘 6 2.2.2 不利用引导软盘进行安装 7 2.2.3 虚拟控制台 7 2.2.4 对话框 7 2.3 一步步地安装 7 2.3.1 开始安装 7 2.3.2 内核参数选项 8 2.3.3 安装程序 9 2.3.4 选择一种安装方法 9 2.3.5 光盘安装 10 2.4 硬件配置 14 2.4.1 选择鼠标 14 2.4.2 配置X Window系统 14 2.4.3 配置网络 14 2.4.4 设置时区 15 2.4.5 选择服务自动启动 15 2.4.6 配置打印机 15 2.4.7 超级用户口令 15 2.5 Red Hat软件包管理程序 16 2.6 小结 16 第3章 LILO 17 3.1 安装与配置LILO 18 3.1.1 安装或重新配置LILO 18 3.1.2 配置LILO 18 3.2 使用LOADLIN.EXE引导Linux 20 3.3 如何卸载LILO 21 3.4 LILO 疑难解答 21 3.5 小结 22 第4章 配置X Window系统,版本11 23 4.1 X Window系统 23 4.2 建立XFree86系统 24 4.3 配置XFree86系统 25 4.3.1 XF86Config文件 27 4.3.2 使用XConfigurator 28 4.4 检查XF86Config文件 32 4.4.1 XF86Config Files部分 32 4.4.2 XF86Config ServerFlags部分 34 4.4.3 XF86Config Keyboard部分 35 4.4.4 XF86Config Pointer部分 36 4.4.5 XF86Config Monitor部分 37 4.4.6 XF86Config Graphics Device部分 39 4.4.7 XF86Config Screen部分 40 4.5 使用xf86config 42 4.6 使用XF86Setup进行配置 49 4.7 .xinitrc文件 52 4.8 使用Red Hat的wmconfig命令 54 4.9 个人化的X资源文件 54 4.10 使用xdm 55 4.11 XFree86疑难解答 57 4.12 小结 57 第5章 窗口管理器 58 5.1 GNOME X环境 59 5.1.1 什么是GNOME 59 5.1.2 GNOME 安装组件 59 5.1.3 使用 GNOME或者其他显示管理 器配置X11 60 5.1.4 使用GNOME客户程序和工具 63 5.1.5 使用GNOME Control Center配置 桌面 64 5.1.6 GNOME面板配置 65 5.2 Enlightenment窗口管理器特性 67 5.3 K桌面环境特性 68 5.3.1 安装组件 68 5.3.2 使用kdm登录 68 5.3.3 KDE桌面特性 69 5.3.4 执行基本的桌面动作 70 5.3.5 使用桌面面板 70 5.3.6 编辑KDE面板菜单 71 5.3.7 使用kfm文件管理器 71 5.4 使用KDE Control Center配置KDE 71 5.4.1 使用显示管理器选项 72 5.4.2 更改桌面墙纸 73 5.4.3 更改屏幕保护程序 74 5.4.4 安装系统声音 75 5.4.5 更改键盘和鼠标设置 75 5.4.6 更改窗口按钮 76 5.4.7 控制光标在桌面上的移动 78 5.5 fvwm2的AnotherLevel配置特性 79 5.5.1 重要的文件 79 5.5.2 配置AnotherLevel 79 5.5.3 键盘控制 80 5.6 AfterStep窗口管理器特性 81 5.6.1 重要的文件 81 5.6.2 配置AfterStep 81 5.7 GNU Window Maker窗口管理器特性 82 5.7.1 重要的文件 82 5.7.2 配置Window Maker 82 5.8 fvwm2窗口管理器 83 5.9 fvwm窗口管理器 83 5.10 twm窗口管理器 84 5.11 公共桌面环境特性 86 5.12 使用RPM安装Red Hat Linux的CDE 和库 86 5.13 小结 87 第二部分 服务配置 第6章 系统的启动和关闭 89 6.1 引导进程 89 6.2 初始化进程和启动脚本 90 6.2.1 init和/etc/inittab 90 6.2.2 /etc/inittab和系统状态 92 6.3 linuxconf与管理服务 96 6.4 关闭Linux系统 98 6.4.1 shutdown 98 6.4.2 halt与reboot 99 6.5 当系统崩溃时 100 6.5.1 以root身份运行 100 6.5.2 创建引导盘 100 6.5.3 误删除文档 101 6.5.4 文件工具箱 101 6.5.5 当系统不能引导时,Red Hat会 来救援 102 6.5.6 获取更多的信息 103 6.6 小结 104 第7章 SMTP和协议 105 7.1 Internet电子邮件标准的历史简述 105 7.1.1 sendmail介绍 105 7.1.2 邮局协议 105 7.1.3 Internet邮件访问协议 106 7.2 SMTP和sendmail 106 7.2.1 Internet邮件协议 106 7.2.2 域名系统和电子邮件 107 7.2.3 sendmail的工作 110 7.2.4 sendmail的辅助文件 111 7.2.5 别名文件 111 7.2.6 设置sendmail 112 7.2.7 sendmail.cf:配置文件 114 7.2.8 自动生成sendmail.cf文件 124 7.2.9 测试sendmail和sendmail.cf 126 7.2.10 普通的sendmail配置错误 128 7.3 POP 128 7.3.1 配置POP服务器 128 7.3.2 配置ipop3d 128 7.3.3 APOP如何工作 129 7.3.4 设置APOP验证 130 7.3.5 POP3协议 130 7.4 IMAP 130 7.5 邮件获取 131 7.5.1 配置Netscape POP3或者IMAP邮 件获取 131 7.5.2 fetchmail 132 7.5.3 为POP3或者IMAP邮件获取配置 fetchmail 133 7.6 小结 133 第8章 FTP 135 8.1 获取和安装FTP服务程序 135 8.2 FTP服务器的工作方式 137 8.3 配置FTP服务器 138 8.3.1 控制访问权—/etc/ftpaccess 文件 138 8.3.2 在传输时转换文件—/etc/ftpcon- versions文件 147 8.3.3 配置主机的访问权—/etc/ftphosts 文件 148 8.3.4 FTP的日志文件—/var/log/ xferlog 149 8.4 FTP管理工具 149 8.4.1 ftpshut 149 8.4.2 ftpwho 150 8.4.3 ftpcount 150 8.5 使用FTP客户程序 150 8.5.1 autoexpect 152 8.5.2 ncftp 152 8.5.3 tftp 153 8.5.4 xtp 153 8.5.5 gftp 153 8.6 小结 154 第9章 Apache服务器 155 9.1 服务器安装 155 9.1.1 从RPM安装 156 9.1.2 自己构造源代码 156 9.2 服务器运行配置的设置 157 9.2.1 编辑httpd.conf文件 158 9.2.2 .htaccess文件和访问限制 160 9.3 虚拟主机 161 9.3.1 基于地址的虚拟主机 161 9.3.2 基于名字的虚拟主机 162 9.4 日志记录 163 9.5 CGI和SSI 164 9.5.1 CGI 164 9.5.2 SSI 164 9.5.3 基本SSI指令 165 9.5.4 流控制 167 9.6 启动和停止服务器 167 9.6.1 手动启动服务器 167 9.6.2 /etc/rc.d httpd脚本 168 9.7 配置文件清单 170 9.8 小结 185 第10章 Internet新闻 186 10.1 Linux与新闻组 186 10.1.1 新闻供给点如何工作 187 10.1.2 推/拉新闻 187 10.1.3 下载新闻组的可选方法 187 10.2 INN硬件与软件要求 188 10.3 INN介绍 188 10.3.1 安装INN 188 10.3.2 INN启动文件 189 10.3.3 配置INN 193 10.4 NNTPCache介绍 194 10.4.1 NNTPCache如何工作 194 10.4.2 下载和配置NNTPCache 195 10.5 trn介绍 196 10.6 小结 197 第11章 域名服务 198 11.1 Internet历史简述 198 11.1.1 hosts.txt文件 199 11.1.2 /etc/hosts文件 199 11.2 BIND 8 200 11.3 本章例子说明 200 11.4 创建一个普通的缓冲DNS 201 11.4.1 真正的解决方案 201 11.4.2 测试缓冲DNS 204 11.4.3 缓冲服务器小结 206 11.5 重要的DNS事实和概念 206 11.5.1 DNS客户和服务器截然不同 206 11.5.2 DNS术语 206 11.5.3 DNS将名字映射到IP地址及反 序操作 207 11.5.4 前区和反区必须保持同步 207 11.5.5 HUP信号和重启 207 11.5.6 IN-ADDR.ARPA域 207 11.5.7 主机命名方案 208 11.5.8 配置DNS客户:/etc/resolv.conf 208 11.5.9 DNS软件 208 11.6 DNS服务器配置文件 210 11.6.1 DNS引导文件:/etc/named. conf 210 11.6.2 DNS区数据文件 212 11.7 配置DNS服务器主域 215 11.7.1 添加本地域解析 215 11.7.2 添加虚拟域解析 217 11.8 授权委托 218 11.8.1 在sylvia上添加 subdomain. domain.cxm的授权 218 11.8.2 测试subdomain.domain.cxm本 地域分解 219 11.8.3 从numark委托子域给sylvia 219 11.8.4 测试subdomain.domain.cxm 委托 220 11.9 添加从DNS服务器 220 11.9.1 mtx的更改 221 11.9.2 numark的更改 222 11.10 DNS问题解决与调试 222 11.10.1 使用脚本对DNS设置进行耐 压测试 222 11.10.2 使用转储和日志调试 223 11.11 其他DNS文档 223 11.12 小结 224 第12章 NIS:网络信息服务 225 12.1 了解NIS 225 12.1.1 NIS域 226 12.1.2 不同的服务器 226 12.1.3 安装软件 226 12.2 配置主NIS服务器 226 12.3 配置NIS客户 229 12.4 配置NIS从服务器 231 12.5 在/etc/passwd文件中使用NISisms 232 12.6 使用网络组 232 12.7 解决问题的一些技巧 233 12.8 小结 233 第13章 网络文件系统 235 13.1 NFS安装 235 13.2 启动和停止NFS守护程序 236 13.3 NFS状态 236 13.4 配置NFS服务器和客户 236 13.4.1 建立/etc/exports文件 237 13.4.2 使用mount加载一个导出的文 件系统 238 13.4.3 卸载文件系统 238 13.4.4 配置/etc/fstab文件以自动加载 文件系统 239 13.5 完成样本配置文件 240 13.6 小结 241 第14章 Samba 242 14.1 安装Samba 242 14.2 运行一个简单的Samba设置 243 14.2.1 使用Linux客户测试 243 14.2.2 使用Windows客户测试 244 14.3 配置Samba 245 14.3.1 [global]段 245 14.3.2 [homes]段 246 14.3.3 [printers]段 247 14.3.4 Samba打印机疑难解答技巧 248 14.4 共享文件和打印服务 249 14.5 优化Samba性能 250 14.6 测试配置 251 14.7 运行Samba服务器 252 14.8 共享访问 252 14.8.1 在Linux客户上使用smbclient 252 14.8.2 在Linux客户上加载共享 253 14.8.3 在Windows客户上加载共享 253 14.9 公用smb.conf配置选项 253 14.9.1 特殊约定 254 14.9.2 read Only=Versus writeable=Versus writable=Versus write ok=(S) 254 14.9.3 valid users=(S) 254 14.9.4 invalid users=(S) 254 14.9.5 read list=(S) 255 14.9.6 write list=(S) 255 14.9.7 path=(S) 255 14.9.8 create mask=和create mode=(S) 255 14.9.9 browseable=(S) 255 14.9.10 printable=(S) 256 14.9.11 hosts allow=、hosts deny=、 allowhosts=和deny hosts=(S) 256 14.9.12 public=和guest ok=(S) 256 14.9.13 comment=(S)和server string= (G) 257 14.9.14 domain logons=(G) 257 14.9.15 encrypt passwords=和smb passwd file=(G) 257 14.9.16 hosts equiv=(G) 257 14.9.17 interfaces=(G) 257 14.9.18 load printers=(G) 257 14.9.19 null passwords=(G) 257 14.9.20 password level和username level(G) 257 14.9.21 security=(G) 258 14.9.22 workgroup=(G) 258 14.9.23 config file=(G) 258 14.10 Samba文档资料 258 14.10.1 Samba应用程序文档资料 258 14.10.2 配置选项文档 259 14.10.3 其他文档 259 14.11 使用SWAT配置基于Web的Samba 259 14.11.1 在服务器上激活SWAT 259 14.11.2 在浏览器上使用SWAT配置 smb.conf 260 14.12 小结 260 第三部分 系统管理 第15章 文件系统、磁盘和其他设备 261 15.1 字符设备 261 15.2 块设备 262 15.3 文件系统 262 15.4 mount命令 263 15.5 使用user mount tool加载文件系统 265 15.6 设置文件系统 266 15.7 创建新的文件系统 267 15.8 使用fsconf在图形界面中创建和 编辑文件系统 269 15.9 修复文件系统 270 15.10 硬件 272 15.10.1 硬盘 272 15.10.2 软盘 274 15.10.3 CD-ROM驱动器 274 15.10.4 回送设备 275 15.10.5 其他块设备 277 15.11 字符设备 278 15.11.1 并行端口 278 15.11.2 磁带驱动器 279 15.11.3 终端 280 15.11.4 串行通信 281 15.11.5 公用SCSI设备 282 15.11.6 CD-ROM刻录机 282 15.11.7 测试CD映像 282 15.11.8 其他字符设备 282 15.12 小结 285 第16章 利用Linux进行打印 286 16.1 打印机设备 286 16.2 应该使用什么样的打印机 287 16.3 如何打印 289 16.4 RHS Linux打印系统管理器 290 16.4.1 远程打印机 290 16.4.2 本地打印机 293 16.4.3 定制RHS打印机过滤器 293 16.5 Linux的打印命令 294 16.6 简单地编排格式 295 16.7 其他有用的打印机程序和过滤器 295 16.7.1 APSfilter 296 16.7.2 BubbleTools 296 16.7.3 magicfilter 296 16.7.4 LPRMagic 296 16.7.5 HPTools 296 16.7.6 PostScript打印机 296 16.7.7 增强的打印假脱机程序 297 16.7.8 系统计帐 297 16.8 对红外线打印机的支持 297 16.9 一些程序技巧 298 16.9.1 emacs 298 16.9.2 Linux的Applixware 298 16.9.3 WordPerfect 8 for Linux 299 16.10 其他的有用程序 300 16.10.1 pbm工具 300 16.10.2 gv 300 16.11 排错和获取更详细的信息 300 16.12 小结 301 第17章 TCP/IP网络管理 302 17.1 TCP/IP基础 302 17.1.1 IP地址 302 17.1.2 拆分网络 302 17.1.3 TCP/IP协议组 306 17.1.4 端口 306 17.1.5 套接字 307 17.2 网络配置 307 17.2.1 配置文件 308 17.2.2 配置程序 311 17.3 网络守护程序 315 17.3.1 独立的TCP/IP守护程序 315 17.3.2 Internet超级服务器:inetd 316 17.4 配置PPP服务器 317 17.4.1 基本配置 318 17.4.2 设置通过Shell的PPP访问 319 17.4.3 设置不通过Shell直接的PPP访问 319 17.5 TCP/IP查找并排除故障的工具 320 17.5.1 ping 320 17.5.2 traceroute 321 17.5.3 tcpdump 322 17.6 网络安全工具 324 17.6.1 防火墙 324 17.6.2 安全远程访问—SSH,安全 的Shell 329 17.7 小结 332 第18章 连接到Internet 333 18.1 配置虚拟接口 333 18.2 设置PPP 335 18.2.1 安装PPP 335 18.2.2 设置一个PPP用户帐号 336 18.2.3 设置chat 336 18.2.4 配置pppd 337 18.2.5 组合使用chat和pppd 338 18.2.6 使用PPP脚本设置PPP 338 18.2.7 使用netcfg客户程序设置PPP 339 18.2.8 使用kppp客户程序设置PPP 341 18.3 设置SLIP 344 18.4 设置拨入PPP服务器 345 18.5 小结 346 第19章 Red Hat中的图形管理工具 347 19.1 文件的组织 347 19.1.1 /bin和/sbin 347 19.1.2 /etc中的配置文件 348 19.1.3 /home 349 19.1.4 /mnt 349 19.1.5 /tmp和/var 349 19.1.6 /usr 350 19.2 Red Hat中的软件包管理器 351 19.2.1 主要运行方式和常用选项 352 19.2.2 安装软件包 353 19.2.3 升级软件包 354 19.2.4 卸装软件包 354 19.2.5 查询软件包 355 19.2.6 验证软件包 357 19.2.7 gnorpm简介 358 19.3 Red Hat工具 360 19.3.1 使用control-panel 360 19.3.2 使用Comanche工具来配置 Apache 361 19.3.3 使用fetchmailconf工具配置 Fetchmail 361 19.3.4 使用tksysv工具来配置Linux运 行级 362 19.3.5 使用chkconfig命令检测运行级 362 19.3.6 使用timetool命令设置时间和 日期 363 19.3.7 使用printtool客户程序来配置 打印机 364 19.3.8 使用netcfg客户程序来配置网 络设备 364 19.3.9 使用helptool客户程序获取帮助 364 19.3.10 使用kernelcfg工具配置Linux 内核 365 19.3.11 使用modemtool客户程序建立/dev/ modem 365 19.4 使用Red Hat的setup命令 366 19.4.1 使用kbdconfig命令配置键盘 366 19.4.2 使用mouseconfig命令配置鼠标 366 19.4.3 使用sndconfig命令配置声卡 366 19.4.4 使用ntsysv命令配置系统服务 368 19.4.5 使用timeconfig命令设置系统 的时区 368 19.5 使用linuxconf命令 368 19.6 小结 371 第20章 基本的系统管理 372 20.1 管理全能的root帐号 373 20.2 系统的维护—对系统进行修改 373 20.2.1 规划处理过程 374 20.2.2 制定还原方案 374 20.2.3 小幅度地进行修改 374 20.2.4 制定测试方案 374 20.2.5 及时有效地与用户进行通信 375 20.3 获取帮助 379 20.3.1 手册页 379 20.3.2 email 382 20.3.3 Red Hat的邮件列表和讨论组 382 20.3.4 其他讨论组 383 20.4 问题的解决途径—日志文件 385 20.5 syslog.conf 385 20.6 增加用户 386 20.6.1 编辑 etc/passwd 387 20.6.2 编辑/etc/group 389 20.6.3 创建主目录和把文件拷贝到新 的主目录 390 20.6.4 改变访问权限和拥有者 390 20.6.5 设置口令 390 20.7 改变用户属性 390 20.8 暂时禁止用户 391 20.9 使用配置工具来增加用户 391 20.9.1 使用Gnome的linuxconf增加 用户 392 20.9.2 用户口令 393 20.9.3 删除用户 393 20.9.4 组 394 20.10 登录和怎样成为特定的用户 394 20.11 查找 395 20.11.1 Who 395 20.11.2 finger 395 20.12 小结 396 第21章 高级的系统管理 397 21.1 基本性能分析 397 21.1.1 使用vmstat确定CPU的使用情况 397 21.1.2 top 399 21.2 图形化监视工具 400 21.2.1 Xosview 400 21.2.2 Xload 401 21.3 交换空间多大才算合适 401 21.4 改变运行进程的优先级 402 21.5 小结 404 第22章 GNU计划的实用程序 406 22.1 GNU计划软件内容 406 22.2 文件实用程序 408 22.2.1 列出目录的内容 409 22.2.2 文件操作 410 22.2.3 修改文件的属性 411 22.2.4 磁盘的使用情况 413 22.3 查找实用程序 414 22.3.1 locate 414 22.3.2 find 415 22.3.3 xargs 417 22.4 shell实用程序 418 22.4.1 查询登录到系统的用户 419 22.4.2 id命令 419 22.4.3 查看正在运行的是何种系统 420 22.4.4 环境变量和shell函数 420 22.5 文本实用程序 421 22.5.1 head和tail命令 421 22.5.2 split命令 422 22.5.3 对单词进行计数 423 22.6 小结 426 第23章 备份和恢复 427 23.1 对成功备份的考虑 427 23.2 优良备份的品质 428 23.3 选择备份介质 428 23.4 选择备份工具 429 23.5 备份策略 429 23.5.1 利用tar和cpio执行备份 430 23.5.2 使用taper脚本进行备份 431 23.5.3 使用BRU-2000进行备份 432 23.6 恢复文件 434 23.7 了解磁带上的内容 434 23.8 小结 435 第24章 系统安全性 436 24.1 安全性审核 436 24.1.1 计划 436 24.1.2 工具 437 24.1.3 知识搜集 438 24.2 危险,威尔·罗宾逊,危险 439 24.2.1 以防万一 439 24.2.2 suid和sgid 439 24.3 文件和目录许可 440 24.3.1 文件 440 24.3.2 目录 441 24.3.3 如何把suid和sgid置于许可字段 443 24.3.4 文件或目录的缺省模式 443 24.4 再论口令 444 24.5 相关的WWW站点 444 24.6 小结 445 第四部分 Linux编程 第25章 Shell编程 447 25.1 创建和执行Shell程序 448 25.2 变量 449 25.2.1 给变量赋值 450 25.2.2 访问变量值 450 25.3 位置参数 450 25.4 内部变量 451 25.5 特殊字符 451 25.5.1 双引号 452 25.5.2 单引号 453 25.5.3 反斜杠 453 25.5.4 反引号 453 25.6 表达式的比较 453 25.6.1 pdksh和bash 454 25.6.2 tcsh 457 25.7 重复语句 459 25.7.1 for语句 459 25.7.2 while语句 460 25.7.3 until语句 461 25.7.4 repeat语句 462 25.7.5 select语句 462 25.7.6 shift语句 462 25.8 条件语句 463 25.8.1 if语句 463 25.8.2 case语句 464 25.9 杂项语句 465 25.9.1 break语句 466 25.9.2 exit语句 466 25.10 函数 466 25.11 小结 466 第26章 gawk编程 467 26.1 应用 467 26.2 特性 468 26.3 awk基础 468 26.3.1 在命令行中使用awk 468 26.3.2 模式和动作 469 26.3.3 操纵输入 472 26.3.4 编程 472 26.4 动作 473 26.4.1 变量 473 26.4.2 字符串 475 26.4.3 数组 478 26.4.4 内部数字函数 479 26.4.5 算术操作符 479 26.4.6 条件流 480 26.4.7 循环 481 26.5 高级输入和输出 482 26.5.1 输入 483 26.5.2 输出 484 26.6 函数 486 26.6.1 函数定义 486 26.6.2 函数参数 487 26.6.3 return语句 488 26.7 书写报告 488 26.7.1 复杂的报告 488 26.7.2 析取数据 489 26.8 管道流命令 489 26.9 最后一个内部函数:system 490 26.10 小结 491 第27章 任务的自动化 492 27.1 第一个例子—自动化数据输入 492 27.1.1 问题的提出和解决方法 492 27.1.2 脚本的分析 493 27.2 提高自动化技术的方法 495 27.2.1 继续学习 495 27.2.2 精心策划 495 27.3 Shell脚本 496 27.3.1 WWW检索 497 27.3.2 有关shell编程的结论 498 27.4 cron和at作业 498 27.4.1 cron和find—探测磁盘的使 用情况 499 27.4.2 at: 调度未来的事件 500 27.5 其他的机制Expect、perl等等 500 27.5.1 Expect 500 27.5.2 Perl 501 27.5.3 其他工具 502 27.5.4 内部脚本 503 27.6 自动化的意义 503 27.7 小结 504 第28章 配置和创建内核 505 28.1 Linux内核简介 506 28.1.1 Microkernel和Monolith比较 507 28.1.2 内核模块 507 28.1.3 内核版本号 508 28.2 获取内核源代码 509 28.2.1 修补源代码 511 28.2.2 模块 512 28.2.3 内核2.2中的新特征 512 28.3 配置Linux内核 513 28.4 配置选项 514 28.4.1 代码成熟级别 515 28.4.2 处理器类型和特征 515 28.4.3 可调入模块支持 516 28.5 一般设置 516 28.5.1 网络支持 516 28.5.2 BSD记帐 516 28.5.3 SysV IPC 516 28.5.4 sysctl支持 517 28.5.5 对各种各样二进制文件的支持 517 28.5.6 并行口 519 28.5.7 高级电源管理支持 520 28.5.8 “看门狗”支持 520 28.5.9 即插即用设备的支持 520 28.5.10 块设备 521 28.6 网络选项 523 28.6.1 内核Netlink套接字 523 28.6.2 网络防火墙 523 28.6.3 优化为路由器 524 28.6.4 IP隧道 524 28.6.5 WEB站点管理员和IP别名 524 28.6.6 IPX和Appletalk支持 525 28.6.7 企业网络和X.25支持 526 28.6.8 在低速CPU和高速接口中发送 数据 526 28.6.9 QoS和/或公平排队 526 28.7 SCSI支持 526 28.8 网络设备支持 526 28.8.1 虚拟网络设备 526 28.8.2 EQL 527 28.8.3 PLIP,PPP和SLIP拨号网络支 持 527 28.8.4 业余爱好者无线电和无线的支 持 527 28.8.5 IrDA子系统和红外线端口设备 驱动程序 527 28.9 ISDN子系统 527 28.10 老式的CD-ROM驱动器 528 28.11 字符设备 528 28.11.1 终端和控制台 528 28.11.2 串口 528 28.11.3 Unix98 PTY 528 28.11.4 并口打印机 528 28.12 鼠标 529 28.13 看家狗,NVRAM和RTC设备 529 28.14 DoubleTalk语音合成器 529 28.15 Video4Linux 529 28.16 游戏杆支持 529 28.17 Ftape,软磁带设备驱动 529 28.18 文件系统 529 28.18.1 MS-DOS和VFAT文件系统 530 28.18.2 ISO 9660,UDF和DVD支持 530 28.19 网络文件系统 530 28.19.1 CODA分布式文件系统 531 28.19.2 NFS 531 28.19.3 SMB和NPC 531 28.20 分区类型 531 28.21 本地语言支持 531 28.22 控制台驱动程序 531 28.23 声音 532 28.24 内核Hacking 533 28.25 调出/存储配置 534 28.26 创建和安装内核 534 28.27 手工地安装新内核 535 28.28 新内核的故障检定 535 28.28.1 系统信息文件 536 28.28.2 设置内核参数和选项 537 28.29 疑难解答和恢复 537 28.29.1 重复的重启 538 28.29.2 不完全的LILO提示符 538 28.29.3 调入时内核停止 538 28.29.4 内核Panic 539 28.29.5 内核Oop和错误报告 539 28.29.6 Linux和Y2K 540 28.30 参考和资源 540 28.31 总结 540 第29章 网络编程 542 29.1 网络概念 542 29.1.1 构成网络地址 543 29.1.2 网络服务 545 29.1.3 套接字 545 29.1.4 协议和套接字类型 545 29.1.5 设置连接 547 29.2 TCP客户例子 547 29.3 TCP服务器例子 548 29.4 UDP例子 549 29.5 阻塞与非阻塞描述符 551 29.6 UDP的I/O多路复用 553 29.7 TCP的I/O多路复用 554 29.8 高级论题 556 29.9 小结 556 第30章 C和C++编程 558 30.1 C语言的背景 558 30.2 C的编程:基本概念 559 30.2.1 C程序中的函数 559 30.2.2 C程序中的数据 560 30.3 创建、编译和执行第一个程序 560 30.4 C语言的元素 561 30.4.1 基本的C语法 561 30.4.2 表达式 563 30.4.3 语句控制 565 30.4.4 函数 566 30.4.5 创建一个简单的程序 568 30.4.6 建立大型的应用程序 570 30.5 项目管理工具 570 30.5.1 使用make来编译程序 570 30.5.2 使用RCS和CVS来管理软件项 目 571 30.5.3 调试工具 573 30.6 C++语言的元素 574 30.7 利用C++编程:基本概念 574 30.7.1 文件命名 575 30.7.2 C和C++之间的差别 575 30.7.3 C和C++中的作用域 575 30.7.4 C++的重载函数和操作符 577 30.7.5 在C++数据结构中的函数 578 30.8 C++的类 580 30.8.1 在C++中说明一个类 580 30.8.2 继承性和多态性 581 30.9 GNU C/C++编译器的命令行选项 582 30.10 GNU egcs编译系统的新特征 582 30.11 辅助资料 584 30.12 小结 585 第31章 Perl编程 586 31.1 一个简单的Perl程序 586 31.2 Perl变量和数据结构 587 31.2.1 Perl变量类型 587 31.2.2 特殊变量 588 31.3 条件语句:if/else和unless 588 31.3.1 if 588 31.3.2 unless 589 31.4 循环 590 31.4.1 for 590 31.4.2 foreach 590 31.4.3 while 590 31.4.4 until 591 31.5 正则表达式 591 31.6 访问shell 592 31.7 控制参数 592 31.8 模块和CPAN 594 31.9 例子程序 595 31.9.1 发送邮件 595 31.9.2 清理记录文件 596 31.9.3 向Usenet张贴信息 597 31.9.4 一行的程序 597 31.9.5 Schwartzian转换 597 31.9.6 命令行进程 598 31.10 获取其他信息 598 31.10.1 书籍 598 31.10.2 讨论组 598 31.10.3 WWW 598 31.10.4 其他信息 599 31.11 小结 599 第32章 Motif编程 600 32.1 Motif是什么 600 32.1.1 从哪里可以获得Motif? 601 32.1.2 26.1.2 应该使用什么版本的 Motif 601 32.2 Red Hat Modif的安装 602 32.2.1 Development rpms 603 32.2.2 Motif 2.1 rpms 603 32.2.3 Motif 2. 1 Mwm rpms 603 32.2.4 Motif Demonstration Source rpms 603 32.2.5 Motif Demos rpms 604 32.3 Motif编辑的基本概念和一个简单 的例子 604 32.3.1 构件和事件驱动编程 604 32.3.2 简单的Motif程序 605 32.3.3 程序的工作方式 608 32.3.4 示范程序的资源 609 32.4 UIL编译器 609 32.5 指导和例子 610 32.6 使用imake和xmkmf 610 32.7 LessTif—一个可选择的Motif克隆 611 32.8 其他有关的信息 612 32.9 小结 613 第33章 tcl和tk编程 614 33.1 tcl基础 614 33.1.1 tcl的交互使用方式 614 33.1.2 tcl的非交互使用方式 615 33.2 tcl语言 615 33.2.1 命令的结构 616 33.2.2 注释 616 33.2.3 数据类型 616 33.2.4 变量 617 33.2.5 字符串的操作 619 33.2.6 数字的操作 620 33.2.7 引用和置换 621 33.2.8 流的控制—if和switch 623 33.2.9 循环 624 33.2.10 文件的输入输出和文件的信息 626 33.2.11 过程 627 33.3 tk工具箱 628 33.3.1 构件的介绍 628 33.3.2 创建构件 629 33.3.3 构件的选项 630 33.4 一个tcl/tk构件的编程示例 630 33.5 xsetroot的一个tcl/tk界面 632 33.6 小结 636 第34章 在Python下编程 637 34.1 准备运行Python 637 34.1.1 安装Python 638 34.1.2 设置Python环境变量 639 34.2 Python命令行解释程序 639 34.3 Python程序 641 34.4 控制语句 643 34.4.1 IF语句 643 34.4.2 WHILE循环 645 34.4.3 FOR循环 646 34.5 列表和range( )函数 646 34.6 字典 650 34.7 控制台I/O 651 34.8 文件I/O 652 34.8.1 文件输出 652 34.8.2 文件输入 653 34.8.3 文件I/O范例 654 34.9 函数和模块 655 34.9.1 函数 655 34.9.2 模块 656 34.10 串和正则表达式 656 34.10.1 串 656 34.10.2 正则表达式 659 34.10.3 串和正则表达式范例 662 34.11 类 663 34.11.1 类的定义和实例化 663 34.11.2 封装和个人ID 664 34.11.3 继承 666 34.12 其他Python性能 667 34.13 总结 668 第35章 Java程序 669 35.1 何为Java 669 35.1.1 Java的用途 669 35.1.2 Java虚拟机 670 35.1.3 应用程序和Applet 670 35.1.4 跨平台开发和本地平台开发 671 35.2 Red Hat Linux中的Java支持 671 35.3 软件开发工具箱 671 35.4 Java语言概述 672 35.4.1 对象、类和面向对象程序 673 35.4.2 数据类型 674 35.4.3 表达式 675 35.4.4 控制语句:if-else、while及for 677 35.4.5 编写自己的方法 678 35.4.6 比较Java与C和C++ 679 35.4.7 异常事件处理 679 35.4.8 Java 对象包 680 35.5 编写Java程序 683 35.5.1 创建代码 684 35.5.2 编译Java源代码 685 35.5.3 创建并执行应用程序 685 35.5.4 创建并运行Applet 685 35.6 Java和Internet 687 35.6.1 JDBC 687 35.6.2 RMI 687 35.6.3 Java.net: 网络技术 688 35.7 Servlet 690 35.8 其他参考 691 35.8.1 书籍 691 35.8.2 Web站点 691 35.9 小结 692 第五部分 附 录 附录A Linux文档计划概述 693 附录B 常用Linux命令和工具 696 附录C Linux文档计划的版权许可协 议 721 附录D 与其他系统一起工作 723