For the complete documentation index, see llms.txt. This page is also available as Markdown.

书评:《系统管理与网络管理技术实践》

系统管理与网络管理技术实践(The Practice of System and Network Administration

  • Thomas A. Limoncelli、Christina J. Hogan、Strata R. Chalup

  • Pearson/Addison-Wesley Professional

  • ISBN 9780321492661

  • 1,056 页

  • 纸质书定价:$59.99

  • 电子书定价(含 EPUB、MOBI、PDF):$47.99

  • FreeBSD 期刊读者专享:Limoncelli 两本著作可享 35% 折扣,请访问出版商页面 http://informit.com/tposa,结账时输入优惠码:TPOSA35

出版商注:第 3 版计划于 2016 年春季发行。

在系统管理类书籍中,你期望看到什么?我对这类书籍的衡量基准是 Evi Nemeth、Garth Snyder、Trent R. Hein 和 Ben Whaley 合著的《UNIX/Linux 系统管理技术手册》(下文简称 Nemeth)。而 Thomas A. Limoncelli、Christina J. Hogan 和 Strata R. Chalup 合著的《系统管理与网络管理技术实践》(下文简称 Limoncelli)则截然不同。为什么?

要回答这个问题,值得退一步想想你希望从一本系统管理书中获得什么。尽管我十分推崇 Nemeth 一书,却几乎从未真正用过它。我有许多书,查找信息时可能选其中一本,或者越来越多地在网络上查找。脚本语言或 Unix 文件系统导航这类问题尤其如此,它们并非系统管理独有,虽然 Nemeth 对这些内容有详尽描述。即便是系统管理部分,也主要局限于几个特定的非 BSD 系统。即便我使用他们描述的某个系统,其他系统的内容对我用处不大,而且我所关心的信息很可能已经过时,因为这类书大约每五年才出一个版本,远低于软件更新频率。

Limoncelli 的作者们选择描述一套完全不同的技能。他们描绘了全景:如何在大公司或至少中型公司中作为系统管理员生存下来。他们眼中“小公司”是指有 100 名员工的企业。书中这里那里会提到具体软件,但内容同样适用于 BSD、Solaris、Linux 甚至 Microsoft。他们没有重复造轮子。即便没有这些细节,他们汇集的内容也已足够庞大,超过 1,000 页,而且更多内容对普通读者来说是切题的。

一个小批评:我认为书名起错了。这是一本关于(大型)系统管理的书,而非系统维护。对我而言,第 364 页讨论客户服务接口基本原理时豁然开朗。本书的核心是人际互动,而非琐碎的技术细节。相比之下,Nemeth 把这个问题作为书末一个小小支线处理。

这类书的一个大问题是从哪里开始读。没有哪两位读者想了解的内容是相同的。而通读 1,000 页文字需要不少时间。作者们把第 1 章做成了一种带注释的索引来应对这个问题:“当……时该做什么”,涵盖文档化策略、度过重大故障、寻找新工作、优化洗碗机输出(大概是玩笑,但我仍没看懂)等主题。总共有 48 种不同的切入本书的方式。我能看出作者恨不得给纸质书加上超链接。

书的其余部分分为四个部分。每章分两半,标题为“The Basics”(基础)和“The Icing”(锦上添花),其后是简短的小结(Conclusion)和一系列练习。这些练习是用来思考的,而非追求正确答案。例如:

你的站点有多少个电子邮件命名空间?谁控制它们?

书中有很多小型案例研究,大多不到半页长,用以阐释与正文相关的真实案例。这些案例常常只涉及其中一位作者,有时还展示作者之间的意见分歧。我觉得这非常出色:它让你更清楚地区分哪些是毫无争议的最佳实践,哪些是个人偏好。

第一部分“Foundation Elements”(基础要素)处理系统管理的结构性问题:计算机、服务、客户交互等等。谈的是结构,不是细节。一台工作站?两台?还是几百台。它们带来的问题与一两台截然不同。如何保持更新?如何确保非技术背景的新员工能使用机器,而不用整天给你打电话?如何以最少的精力维持运行?如何确保服务器始终在线?这些都是我曾经抱怨过的问题,而本部分一一作了回应。有一章关于数据中心,包括物理布局和维护设备概览的实用建议。这大概是作者们最接近细节的地方。本部分还描述了灾难恢复(什么,没有灾难?当然有灾难)、安全策略、关于客户关系的两章,分别题为“Helpdesks”(帮助台)和“Customer Care”(客户关怀)。还有一章关于职业道德。

“Customer Care”是本书方法论的一个好例子。我经常抱怨帮助台。你常常被转接到一个除了照本宣科、确认你按指示操作(无论是否必要)之外所知甚少的人。本书特别警告不要使用过于机械的脚本,那只会让客户沮丧。另一个例子:“escalation”(升级)在许多帮助台似乎是陌生的词,但书中从双方角度进行了讨论。“Customer Care”一章提出并阐述了解决问题的九步流程,包括多种迭代选项。

第二部分“Change Processes”(变更流程)有些杂糅。最明显相关的章节是“Change Management”(变更管理)和“Server Upgrades”(服务器升级)。前者讲规划,后者讲执行。机器升级这个话题我特别在意,敢写的书不多。但还有“Centralization and Decentralization”(集中与分散)和“Debugging”(调试)这类主题。尤其是后者(本部分第一章)似乎并不适合放在这里。正如作者所说,它与上一部分“Customer Care”一章相关。

下一部分“Providing Services”(提供服务)是本书最接近传统系统管理的内容。这里有关于电子邮件、打印和备份的建议。但即便在这里,侧重点也与其他书不同。第一章是“Service Monitoring”(服务监控),传达的信息是:如果你无法监控,就无法管理。电子邮件?Nemeth 讨论如何搭建 sendmail、exim、postfix。Limoncelli 几乎不提单个软件,更关注可靠性、可维护性和可扩展性。你对电子邮件地址有什么策略?如果有人加入公司,与已有员工同名怎么办?两家公司合并时,如何合并电子邮件地址?

web 服务一章风格类似。奇怪的是,有些服务没有覆盖:DNS 呢?几乎没有提及。

顾名思义,“Management Practices”(管理实践)是书中技术性最弱的部分。内容不错,但许多内容同样适用于其他领域。“A Guide for Technical Managers”(技术管理者指南)引起了我的注意:几十年前我曾处在这个位置,在技术人员和管理者之间走钢丝很难。内容不错,但读完之后我感到有些失望。我说不清原因,也许反映的更多是我自身的问题而非本书的问题。虽然他们说的都对,但我很难产生共鸣。你的感受可能不同。

有两个附录:一个描述缩略语,另一个是题为“The Many Roles of a System Administrator”(系统管理员的多种角色)的 26 页内容。其中并非都是正面的!你不会在这里找到 BOFH(来自地狱的混蛋操作员),但管理员能做错的事情很多,这有助于你识别它们。

那么这本书有什么问题?很少。许多方法论看起来官僚,但在其环境中良好的流程不可或缺。它感觉专业而非极客,我怀疑正因如此 Nemeth 将保持其崇拜地位。但当我需要查阅系统管理书籍时,我会选择 Limoncelli。•

GREG LEHEY 是一名退休的内核黑客。他是 FreeBSD 项目的提交者和前核心团队成员,曾是 NetBSD 项目的提交者。他是 Vinum 卷管理器的作者。著作包括《Porting UNIX Software》和《The Complete FreeBSD》。

最后更新于