《UNIX/Linux系统管理技术手册(第四版)》延续了《Linux系统管理技术手册(第二版)》以及《UNIX系统管理技术手册(第三版)》的讲解风格,以当前主流的5种Linux发行版本(Red Hat ES、SUSE、Debian、Fedora Core和Ubuntu)为例,把Linux系统管理技术分为3部分分别介绍。第一部分全面介绍了运行单机Linux系统涉及的各种管理知识和技术,如系统引导和关机、进程控制、文件系统管理、用户管理、设备管理、系统备份、软件配置以及cron和系统日志的管理使用等。第二部分从详细讲解TCP/IP协议基本原理开始,深入讨论了网络的两大基本应用——域名系统和路由技术,然后逐章讲解Linux上的各种Internet关键应用,如电子邮件、NFS、文件共享、Web托管和Internet服务,在这部分里还有专门的章节介绍网络硬件、网络管理与调试以及系统安全。第三部分包括了多种不容忽视的重要主题:X窗口系统、打印系统、系统维护与环境、性能分析、与Windows系统的协作、串行设备、操作系统驱动程序和内核、系统守护进程以及政策与行政管理方面的知识等。
因为UNIX和nnux系统颇为相似,所以本书会同时讲解这两种系统的管理。遗憾的是,在一句话里同时用UNIX和Linux这两个称谓,就仿佛一脚踏入了政治漩涡,或许也像是陷入了一大片泥潭。不过,既然UNIX和Linux之间的关系似乎呈现出某些混淆和冲突,所以要避开不谈我们的立场也比较困难。下面是我们的观点,还有我们对事实的简要说明。有关UNIX和Linux历史的更多资料,可参考本书后面的介绍。
Linux重新实现并优化了UNIX内核。Linux遵循POSIX标准,能够在几种硬件平台上运行,兼容现有的大多数UNIX软件。它同大多数(但不是全部)别的UNIX变体不一样,区别之处在于,它是自由的,开放源代码的,而且是由成百上千不同的个人和组织无私奉献协同开发出来的。与此同时,传统的UNIX厂商则继续改善自己的系统,所以肯定存在一些领域,在这些领域内,商业UNIX系统比Linux强。
无论两种系统有什么相对而言的优缺点,Linux从法律上、从开发上以及从历史上看,都和UNIX有着明显的区别,因此不能把Linux称为UNIX,或者UNIX的一种版本。这样做会忽视Linux社区所做的工作和创新。同时,坚持认为Linux不是UNIX的话,又会有点儿误导性。如果做出来的东西走路像鸭子,叫起来像鸭子,那或许可以说,造的就是鸭子!(译者注:源自一句西方谚语。If it lookslike a duck,walks like a duck,and quacks like a duck,it must be a duck!看起来像鸭子,走起路来像鸭子,叫起来也像鸭子,那一定是鸭子!这里的意思是,不能因为Linux像UNIX,就把Linux当成UNIX。)
即便在Linux阵营里也存在分歧。有人举证说,把Linux发行版本简称为“Linux”,那么开发人员在内核之外运行的那些软件(在一般系统上实际是很大一部分软件)上投入的工作,就没有得到承认。偏偏不巧,最常推荐的替代称谓“GNU/Linux”也有其自己的政治包袱,所以只有Debian这个发行版本才正式采用它。维基百科上有关“GNU/Linux命名争议”的条目列举出了争执双方的论点。有意思的是,现如今,甚至在大多数UNIX系统上,也是开源软件的使用占据主导,但还没有人提GNU/UNIX这样的说法。
Linux软件就是UNIX软件。多亏有了GNU计划,使UNIX系统更富价值的重要软件大多都以某种开放源代码的形式被开发出来。在Linux和非Linux系统上运行的代码是相同的。比如说,Web 服务器Apache全然不在意它是在Linux上还是在HP-UX上运行。从应用软件的角度来看,Linux只不过是得到最好支持的UNIX变体之一罢了。
另外还值得一提的是,Linux不是现今世界唯一的自由UNIX版本。OpenSolaris系统也是自由和开源的,虽然在某些讲求纯开源的人眼里来看,它的许可证条款存有疑点。FreeBSD、NetBSD和OpenBSD——都是从UC Berkeley(加州大学伯克利分校)的BSD(伯克利软件发布,即BerkeleySoftware Distribution)发展而来的分支——都有其各自的热诚追随者。虽然这些操作系统从第三方软件厂商得到的支持有点儿少,但它们在功能和可靠性上却往往可以同Linux相媲美。
UNIX和Linux系统用于生产环境已经有许多年了,而且它们都表现不错。现在要在它们之间做出选择,更多考虑的是软件打包机制、能获得的支持以及使用习惯的惰性,而不是品质或者成熟度实际有什么样的差别。
本书里对“Linux”的评论一般也都适用于各种Linux发行版本,但不适用于传统的UNIX变体。“UNIX”的含义稍有点儿多变,因为我们偶尔也会用在包括Linux在内的所有UNIX变体所共有的属性上(例如,“UNIX文件权限”)。为了避免混淆,在想表达二者都有的情况下,我们通常说“UNIX和Linux”。
……