UNIX和Linux之间的摩擦

网络整理 - 06-28

  因为UNIX和Linux系统颇为相似所以本书会同时讲解这两种系统的管理遗憾的是在一句话里同时用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 looks like 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上还是在HPUX上运行从应用软件的角度来看Linux只不过是得到最好支持的UNIX变体之一罢了

  另外还值得一提的是Linux不是现今世界唯一的自由UNIX版本OpenSolaris系统也是自由和开源的虽然在某些讲求纯开源的人眼里来看它的许可证条款存有疑点FreeBSDNetBSD和OpenBSD都是从UC Berkeley(加州大学伯克利分校)的BSD(伯克利软件发布即Berkeley Software Distribution)发展而来的分支都有其各自的热诚追随者虽然这些操作系统从第三方软件厂商得到的支持有点儿少但它们在功能和可靠性上却往往可以同Linux相媲美

  UNIX和Linux系统用于生产环境已经有许多年了而且它们都表现不错 现在要在它们之间做出选择更多考虑的是软件打包机制能获得的支持以及使用习惯的惰性而不是品质或者成熟度实际有什么样的差别

  对Linux的评论一般也都适用于各种Linux发行版本但不适用于传统的UNIX变体UNIX的含义稍有点儿多变因为我们偶尔也会用在包括Linux在内的所有UNIX变体所共有的属性上(例如UNIX文件权限)为了避免混淆在想表达二者都有的情况下我们通常说UNIX和Linux