具体描述
内容提要
本书根据作者多年管理和使用Linux系统的丰富经验,从系统管理员的角度讲述了Linux系统连
网、文件服务、电子邮件、安全、备份、打印共享、Web服务、FTP及NetNews等。对如何配置硬件和外设,
定制内核,优化Linux性能,如何选择Linux发布和升级系统都给出了具体的指导和建议。另外,本书还
提供了大量的实用脚本及自动操作技巧,这有助于提高使用者的工作效率。
读者对象:Linux系统管理员及对Linux有兴趣的各级网络管理人员。
作者简介
目录信息
第1章 内容介绍
1.1 本书绝不是另一本Linux“教科书”
1.2 Linux理论
1.3 是不是真的免费
1.4 为什么使用Linux
1.5 Linux是SYSV还是BSD
1.6 支持
1.7 你需要什么
第2章 Linux引导和关闭
2.1 LILO
2.1.1 配置Linux装入程序
2.1.2 引导提示
2.1.3 配置LILO
2.1.4 rdev命令
2.2 内核引导
2.3 init
2.4 什么是运行级别
2.5 可能会出现的问题
2.6 系统关闭
2.6.1 shutdown命令
2.6.2 CTRL-ALT-DELETE
2.7 避免PC重启
2.8 小结
第3章 用户管理
3.1 添加用户
3.1.1 组
3.1.2 /etc/skel目录
3.2 删除或禁止用户
3.2.1 何时删除,何时禁止
3.3 使用shadow口令
3.4 同用户交互
3.5 RPM
3.5.1 使用RPM
3.6 小结
第4章 Shells
4.1 共同特性
4.1.1 通配符
4.1.2 历史记录
4.1.3 环境变量
4.1.4 管道和重定向
4.1.5 文件名及命令完成
4.2 sh
4.2.1 环境变量
4.2.2 For循环
4.2.3 While循环
4.3 tcsh
4.3.1 环境变量
4.3.2 for循环
4.3.3 While循环
4.4 小结
第5章 用Linux连网
5.1 TCP/IP
5.1.1 Ethernet
5.1.2 PPP
5.2 1NETD
5.2.1 /etc/services
5.2.2 /etc/inetd.conf
5.3 网络应用程序
5.3.1 DNS
5.3.2 nslookup
5.3.3 NFS
5.4 AppleTalk
5.4.1 硬件考虑
5.4.2 典型安装
5.4.3 共享打印机
5.4.4 向远程AppleTalk打印机打印
5.5 网络信息服务
5.5.1 NIS客户机设置
5.5.2 nsswitch.conf文件
5.5.3 NIS十
5.5.4 设置一NIS主服务器
5.6 小结
第6章 打印和打印共享
6.1 将打印机连接至Linux
6.2 串口、并口及以太网打印机
6.3 配置打印机
6.4 打印过滤器
6.5 网络上的打印机
6.5.1 UNIX
6.5.2 SMB(Windows网络)
6.6 管理打印队列
6.7 小结
第7章 电子邮件
7.1 使用m4文件
7.2 YouHaveMail
7.3 MIME
7.4 forWard文件
7.4.1 Procmail
7.5 邮件发送清单
7.5.1 Majordomo
7.6 Qmail:比Sendmail更好吗
7.6.1 安装Qmail
7.6.2 Ezmlm
7.6.3 Ezmlm文件
7.7 远程电子邮件(POP和IMAP)
7.7.1 POP
7.7.2 IMAP
7.8 小结
第8章 Internet机构
8.1 InterNIC
8.1.1 注册域
8.1.2 whois
8.2 CERT
8.3 CIAC
8.4 小结
第9章 Samba
9.1 设置一MSWindows网络
9.1.1 需要买什么
9.1.2 安装TCP/IP栈
9.2 安装Samba
9.3 在Windows上安装Linux打印机
9.4 小结
第10章 NetNews
10.1 INN安装前的考虑
10.1.1 空间考虎
10.1.2 内存考虑
10.1.3 其他性能考虑
10.2 设置、获得及拆包INN
10.3 编译和安装INN
10.4 INN内幕
10.4.1 rc.news
10.4.2 innwatch
10.4.3 innd
10.4.4 日志记录
10.4.5 活动文件和历史文件
10.5 NNRP
10.5.1 nnrp.access
10.5.2 inews
10.5.3 rnews
10.5.4 NNTP
10.5.5 认证
10.5.6 控制消息
10.6 新闻馈送
10.6.1 nntpsend
10.6.2 ctlinnd
10.6.3 创建和删除新闻组
10.6.4 添加或删除新闻馈送
10.6.5 重新装入服务器
10.6.6 停止或启动连接
10.6.7 过期和报告
10.6.8 文章过期
10.6.9 日志循环和报告
10.7 INN配置和测试
10.7.1 取得一Usenet馈送和交换新闻
10.8 常见的错误信息及其含义(取自INNFAQ)
10.8.1 当INN启动失败时
10.8.2 当Innd正在运行时突然死亡或节流
10.8.3 INN运行时的非致命错误
10.8.4 其他常见问题
10.8.5 何处可获得帮助
10.9 小结
第11章 设置FTP服务
11.1 匿名FTP
11.1.1 设置匿名FTP
11.2 用户账号的FTP访问
11.3 仅可进行FTP连接的账号
11.4 虚拟FTP主机
11.4.1 tftp
11.5 FTP客户
11.5.1 ftp
11.5.2 NcFTP
11.5.3 XFTP
11.6 小结
第12章 Linux上的应用程序
12.1 Office产品、字处理器和编辑器
12.1.1 Applixware
12.1.2 ApplixWords
12.1.3 Staroffice
12.1.4 WordPerfect
12.1.5 Plan
12.1.6 NExS
12.1.7 TeX/LaTex
12.1.8 Xemacs
12.2 绘画、图形、图像浏览和操纵
12.2.1 Xv
12.2.2 Gimp
12.2.3 Xfig
12.2.4 Xpaint
12.2.5 Mapedit
12.3 科学计算程序
12.3.1 Maple
12.3.2 Mathematica
12.4 模拟器
12.4.1 Executor
12.4.2 Wabi
12.4.3 WINE
12.4.4 Dosemu
12.4.5 Acrobat
12.4.6 LessTif
12.5 小结
第13章 Linux数据库软件
13.1 MySQL和mSQL
13.1.1 mSQL
13.1.2 MySQL
13.2 其他Linux的数据库管理系统
13.2.1 免费软件
13.2.2 商用软件
13.3 其他部分支持的数据库
13.3.1 SybaSe
13.3.2 Oracle
13.4 小结
第14章 编程语言
14.1 C
14.2 C十十
14.3 Perl
14.4 Python
14.4.1 Python和GUI
14.4.2 其他平台上的Python
14.5 Lisp和Scheme
14.6 Java
14.7 Tcl/Tk
14.8 SQL
14.9 其他语言
14.9.1 一些较老的但仍比较有用的语言
14.9.2 较近的一些选择
14.10 小结
第15章 Web服务
15.1 Web服务器软件
15.1.1 加密,Web和山姆大叔(美国政府)
15.2 硬件因素
15.3 Apache和ApacheSSL/Strongh0ld
15.3.1 开始
15.3.2 <Directory>和.htaccess
15.3.3 CGI和SSI
15.3.4 用户的Web页面
15.3.5 限制CGI和SSI的使用
15.3.6 其他有用的模块和指令
15.3.7 Apache扩展
15.4 日志
15.5 数据库和Web服务器
15.6 设置一个很“酷”的Web服务器
15.6.1 MySQL
15.6.2 PHP
15.6.3 Apache
15.7 流式音频和视频
15.7.1 生成内容文件
15.8 小结
第16章 XWindow系统
16.1 X的概念
16.2 设置X
16.3 xdm
16.4 使用X窗口管理器
16.4.1 MWM
16.4.2 FVWM
16.5 用户程序
16.6 X资源
16.7 X应用程序
16.7.1 EyeCandy
16.7.2 Semi-Usefu1
16.7.3 Xcthugha
16.7.4 MpegTVplayer
16.7.5 xanim
16.7.6 S0undStudio
16.7.7 RealPlayer
16.8 娱乐和游戏
16.8.1 xpat
16.9 使用远程显示
16.10 商用X产品
16.10.1 X服务器
16.10.2 X库
16.10.3 CDE
16.11 小结
第17章 Linux安全
17.1 物理安全性
17.2 软件安全性
17.2.1 监视软件
17.2.2 阻止超级用户登录
17.2.3 安全shell
17.2.4 tcpd
17.3 拒绝服务攻击
17.4 网络安全
17.4.1 PGP
17.5 小结
第18章 内核管理
18.1 定制内核
18.2 哪个内核
18.3 准备好
18.4 向LILO添加内核
18.5 作为模块还是被编译进内核
18.6 实战训练
18.6.1 配置内核
18.6.2 编译内核和模块
18.7 小结
第19章 系统监控
19.1 程序和优先级
19.2 动作
19.3 日志过程
19.4 小结
第20章 备份数据
20.1 tar和mt
20.2 cpi0
20.3 dump和Restore
20.4 商用备份产品
20.4.1 BRU
20.4.2 PerfectBackup十
20.4.3 BACKUP/9000
20.5 备份策略
20.6 RAID和磁盘镜像
20.7 小结
第21章 连接外设
21.1 扫描仪
21.2 调制解调器
21.3 磁带机
21.4 不间断电源
21.5 添加一新的硬盘
21.6 Zip和Jaz驱动器
21.6.1 安装Zip驱动器
21.6.2 安装Jaz驱动器
21.6.3 使用驱动器
21.7 串口快速指南
21.7.1 文件锁
21.7.2 流量控制1
21.7.3 UART
21.7.4 调制解调器类型
21.7.5 Baud和BPS
21.8 小结
第22章 Linux发布和升级系统
22.1 已支持的和正在支持中的架构
22.2 商用Linux发布
22.2.1 Caldera
22.2.2 RedHat
22.2.3 WGS
22.2.4 SlackWare
22.2.5 Sparc上的Linux
22.3 升级系统
22.3.1 升级发布和内核
22.4 小结
第23章 连接Internet
23.1 概述
23.2 软件版本
23.3 连网
23.3.1 名字服务
23.4 PPP
23.4.1 Diald
23.5 IP伪装
23.6 小结
附录A 本书所用程序来源的URL列表
附录B Caldera文档
附录C 安装OpenLinux
附录D 安装README及硬盘问题
· · · · · · (收起)
读后感
用户评价
这本名为《Linux系统管理指南》的书籍,与其说是一本技术手册,不如说是一场深入的实践之旅。从我翻开第一页开始,就被作者那种近乎偏执的严谨所吸引。它并没有停留在浮于表面的命令罗列,而是将Linux内核的运作机制、文件系统的深层结构,乃至网络协议栈的细节,都用一种近乎散文诗般的精确语言娓娓道来。比如,书中对于`cgroup`的讲解,没有直接给出配置文件的模板,而是花了大篇幅去阐述其在资源隔离哲学上的演变,这对于我们这些长期在虚拟化环境中挣扎的运维人员来说,无疑是醍醐灌顶。我尤其欣赏作者对“Why”的执着探究,而非仅仅满足于“How”。它探讨了为什么`iptables`的设计会引入某些性能瓶颈,以及在现代云原生架构下,我们该如何利用eBPF技术去绕过这些历史包袱。阅读过程中,我几次不得不停下来,去查阅更底层的C语言代码或内核文档,因为它提供了一个极佳的参照系,让我得以跳出日常运维的琐碎,去宏观地理解整个操作系统的脉络。这本书不是那种可以快速翻阅以应付面试的速成读物,它更像是陪伴你多年的老友,在你遇到系统崩溃、性能瓶颈的至暗时刻,能够提供精准的诊断思路和深厚的理论支撑。那种将复杂系统还原到最基本逻辑单元的功力,让人由衷地感到佩服。
坦白说,这本书的阅读体验并非一帆风顺,它对读者的基础知识要求相当高。如果你对Shell编程的概念只是停留在写几个简单的循环和管道上,那么在面对书中关于复杂正则表达式引擎(如Perl兼容的PCRE)在日志分析中的应用时,可能会感到力不从心。我个人认为,这本书的价值体现在它对“自动化”的重新定义上。它没有沉迷于Ansible或SaltStack的YAML语法,而是将重点放在了如何设计出具有内省能力(Introspection)的配置管理系统。书中有一个章节详细推演了如何使用Awk和Sed编写一个能够自我校验的配置审计工具,它不仅能发现配置漂移,还能根据预设的策略阈值自动生成修复方案的建议。这种由内而外的自我修复理念,是我在市面上其他同类书籍中从未见过的深度。它迫使我去思考:我们究竟是在管理配置,还是在管理配置背后的意图?对于那些追求极致效率和系统自治的工程师而言,这本书提供的不仅仅是工具,更是一种思维范式的转变,一种对系统鲁棒性的终极追求。
初次接触这本书时,我带着一种略微功利的心态,希望能快速掌握那些能在生产环境中立竿见影的技巧。然而,这本书带给我的远不止“技巧”。它更像是一本关于系统哲学和故障排除艺术的教科书。作者在描述系统初始化流程时,那种对每一个启动脚本、每一个Systemd Unit文件背后设计意图的细腻剖析,简直令人叹为观止。我记得有一章专门讲授如何构建一个高可用的集群,但它没有直接给出Keepalived或Corosync的配置示例,而是深入分析了仲裁机制在分布式共识中的核心地位,以及不同投票策略可能导致的脑裂(Split-Brain)风险。这种高度的理论抽象与实际应用场景的完美结合,让我在处理那些棘手的跨节点数据一致性问题时,不再是靠猜测和试错,而是建立在坚实的理论基础之上。这本书的行文风格极其富有逻辑性,段落之间环环相扣,仿佛是一部精密的机械装置说明书,每一个齿轮的咬合都清晰可见。对于那些渴望从“脚本小子”蜕变为真正系统架构师的人来说,这本书无疑是架设思维高塔的坚实基石。
当我需要一本参考书来快速查找某个特定系统调用的参数时,这本书可能不是最高效的选择,因为它的结构更倾向于知识的系统化建构而非快速检索。但真正让我爱不释手的是它在安全加固方面的独到见解。它没有停留在简单的禁用Root登录或修改SSH端口这些初级安全措施上,而是深入剖析了SELinux和AppArmor在强制访问控制(MAC)模型下的策略编译与调试过程。作者用大量篇幅解释了安全上下文(Security Context)是如何贯穿于文件创建、进程启动直至网络通信的整个生命周期中的。我记得书中举了一个关于Web服务器权限提升的案例,通过追踪一个看似无害的CGI脚本,最终定位到SELinux策略中一个微小的布尔值配置错误,从而成功阻止了一次潜在的提权攻击。这种对安全机制底层工作原理的透彻理解,远非仅仅学会`chcon`或`setsebool`命令所能比拟。这本书就像一把手术刀,精确地解剖了Linux安全防护的每一层架构,让人在面对日益复杂的安全威胁时,能做到心中有数,手中有方。
从排版和阅读体验上来说,这本书的设计非常简洁,几乎没有花哨的图表或彩插,这恰恰符合了Linux精神的内核——功能至上。它更像是一份精美的技术文档的集合体,其结构严谨得如同一个编译后的二进制文件。我特别欣赏作者在讲述网络故障排除时所展现出的耐心和条理性。例如,在讨论DNS解析缓慢的问题时,它没有急于给出修改`resolv.conf`的建议,而是引导读者逐步排查从应用层到内核层,再到物理网络层的所有可能性:先检查应用缓存,再分析`/etc/hosts`,然后深入探究系统调用层面是否存在超时限制,最后才回归到BIND或Unbound服务的配置层面。这种自上而下的诊断路径,极大地训练了读者的逻辑推理能力。这本书教会我的最重要的一课是:一个优秀的系统管理员,首先应该是一个严谨的逻辑学家。它不是一本提供快速修复方案的“药箱”,而是一本教授如何诊断和根治系统疾病的“医学百科全书”,它需要投入时间和精力去细细品味,方能体会其深邃的价值。