书评:《Linux 系统调优与定制》

作者:Marco Fioretti

Book Review: Tuning and Customizing a Linux System

书名: 《Linux 系统调优与定制》作者: Daniel L. Morrill出版社: ApressISBN: 1893115275

尽管书名给人这种印象,但这本四百页的书籍的目标并非解释如何从头构建 GNU/Linux 发行版。例如,书中没有关于如何调优内核或 X Window 系统的逐步解释,也没有关于如何从头构建定制的 KDE 或 GNOME 桌面的任何指导。然而,封面上清楚地说明了书中详细讨论的问题:“深入了解 GNU/Linux 幕后发生的事情”,“解释 Red Hat、Slackware 和 Debian 的架构”,“为安装几种类型的软件包提供指南和最佳实践”。

本书编写的所有源代码都可以在 Apress 网站的下载部分在线获取。本书说“您需要回答与本书相关的问题才能成功下载代码”,但对我来说并非如此。

材料分为四个部分,第一部分只是简要介绍了 GNU/Linux 运动、自由软件和开源概念。第二部分阐述了 GNU/Linux 发行版是如何创建的,并彻底分析了上面提到的三个发行版。

第二部分的第一章可以在 Apress 网站上在线阅读,介绍了必要的概念和定义。接下来,针对每个选定的发行版,作者介绍了其内核与官方内核之间的差异,并讨论了使用的软件包管理系统。后者是使两个发行版之间产生真正差异的因素之一,因此比前者得到了更详尽的介绍。

通过示例介绍了用于安装和升级软件包的程序,以及它们的主要命令行选项和相关的图形前端(如果可用)。书中包含一个漂亮的表格,并排列出了每个软件包管理操作的完整 rpm (Red Hat) 或 dpkg (Debian) 语法。

文件系统布局按目录逐个解释,清楚地说明了每个目录的内容和用途。书中介绍了文件系统层级标准的所有偏差。

启动脚本也得到了广泛的介绍,并总结了 SYSV 和 BSD 启动系统之间的差异。读者可以了解它们如何相互作用,以及如何编写和安装它们以与系统的其余部分集成,具体取决于发行版。

所有 GNU/Linux 系统的其他基石也得到了介绍:系统库(及其版本的重要性)、X 的作用,以及非常简要的 Linux 标准库。专门介绍每个发行版的章节还列出了它们最流行的衍生版本。

第二部分以一个名为“学习新 Linux 发行版的十个简单步骤”的实用清单结束,它在一页中总结了一个人在从一个发行版切换到另一个发行版时应该关注的所有内容。唯一遗漏的提示是它们升级的容易程度。

添加应用程序

本书的第三部分标题为“安装软件”,它以介绍性章节开始,列出了必要的步骤,从在源代码或二进制安装之间进行选择到配置用户环境。然后作者选择了六个软件包,并为每个软件包专门用一章来解释如何安装和配置它。本节非常有趣,因为就构建和安装而言,每个工具都属于不同的类别。作者明确指出了哪些操作仅对所选应用程序是必要的,哪些操作是同类所有软件包的最佳实践。

真实世界系统

本书的第四个也是最后一个部分解释了如何构建三个真实世界系统:一台多媒体功能的桌面、一台企业软件开发工作站和一个网络防火墙。这里的案例研究选择得很好,因为它们共同涵盖了几乎所有可能的问题类型。多媒体桌面章节可能最不令人满意:它确实列出了读者在构建此类系统时会遇到的所有组件和问题,但它提供的信息仅此而已。

然而,本章的硬件支持部分是独立的,值得一读。它清晰地概括了 Linux 支持 ZIP 驱动器、USB 设备以及通过 SCSI 仿真支持 IDE CD-ROM 刻录机的方式,而没有深入技术细节。

企业工作站案例更有用,因为它涵盖了本地与网络软件安装的标准、(再次简要地)VMware 以及开发 J2EE 应用程序需要做的事情。

网络防火墙章节是本节中最好的:它包含了几个图表和列表,所有内容都经过仔细解释,并讨论了在通用硬件上运行基于 Linux 的防火墙的所有步骤和替代方案。入侵检测系统、从只读介质启动以及拨号防火墙的特殊性都得到了涵盖,关于无线 LAN 防火墙和构建 VPN 的技巧也得到了介绍。

优点和缺点

本书最具体和技术性的部分略有过时(分析的 Red Hat 版本是 7.3),这几乎总是会发生。此外,大多数与软件相关的书籍都包含许多屏幕截图、代码行或两者兼有,但《Linux 系统调优与定制》却是一个例外。除了防火墙案例外,几乎没有图片(即使在桌面多媒体章节中也没有!),代码和命令行也很少见。本书主要是一页又一页的简单文本。

这不一定是坏事。请记住,本书的目的是教授定制和管理 GNU/Linux 系统的通用标准,而不是提供编程建议或特定发行版的所有技巧。从这个意义上讲,花时间深入讨论实现背后的原理,而不是逐行解释每个脚本,这是一个优点,并且不会像那样快速过时。出于同样的原因,第二部分和第三部分是最有效和最有趣的。也许唯一的缺点是内容有点重复。然而,作者非常 компетентный(俄语,意为 компетентный),这一点在文本中处处可见。

Marco Fioretti 是一位硬件系统工程师,对自由软件作为 EDA 平台以及(作为 RULE 项目的现任负责人)作为高效桌面都感兴趣。Marco 与家人住在意大利罗马。

加载 Disqus 评论