Linux操作系统简介和流行的厂商版本介绍
一、linux简介
linux可以有狭义和广义两种定义。狭义来说,linux实际上指linux kernel (内核)。内核负责管理硬件,并为上层应用提供接口。而广义来说,是指以linux kernel为基础的,包括os和各种应用在内的各个linux版本(distribution)。尽管看起来版本眼花缭乱,但实际上,各个版本之间也只是大同小异,其差别往往体现在客户群、升级维护和界面等方面。
linus torvalds是linux之父。他根据minix系统的代码,参照unix系统的设计,写出了第一给linux内核。linus的创举在于将linux内核的代码开源。后来,linux内核和一套开源的应用软件gnu结合,共同采取开源协议,并迅速发展成熟。我们可以随意地使用和修改开源代码,但以此为基础开发的程序也要根据开源协议公开。linux和gnu的开源性吸引了大批优秀的程序员参与到linux相关的开发中。
从哲学和设计理念上,linux与其他的unix版本相类似,并使用类似的接口。我们可以通过学习linux的基本概念和机制来了解其它unix系统,比如solaris, freebsd,还有基于freebsd的苹果公司的mac os。曾经windows的兴起曾经让许多人认为unix将最终被windows取代,但如今看到linux和苹果产品的兴盛,我很感慨于unix体系的力量。
linux的有如下比较重要的机制: 用于储存数据以及管理权限的文件系统,用于io的文本操作api,用于管理操作的进程,用于实现多任务运行的多线程,以及进程间通信(我将信号和网络也都归入这一类中)。
特别推荐下面的一些文章,以便你对linux有一个概观:
(the cathedral and the bazaar),作者eric raymond
可以说是为linux正名的一篇文章,深入分析linux成功的原因。你也可以通过名字来搜索中文翻译版本。
该作者的其他文章也非常值得一读。
二、linux的厂商版本
在linux内核基础上,我们还有许多厂商版本。即使有了内核和gnu软件,linux的安装和编译并不是简单的工作,linux厂商就是瞄准了这个市场。这些厂商会在linux内核的基础上,结合自己开发的软件,帮助用户安装和使用linux,并提供技术支持。由于在服务器领域,linux操作系统远远领先于windows系统,而这些被*部门、银行或者大学拥有的服务器往往承担很重要的信息处理和io (input/outpt) 工作,所以尽管linux开源,厂商还是可以根据其提供的商用软件和技术支持获得丰厚的利润。
(ibm是linux设备最大的供应商,同时它的咨询业务很大一部份也来源于提供linux相关的支持。我们所熟知的android操作系统,也算是google提供的一个厂商版本。)
我们这里主要介绍在pc上比较流行的linux厂商版本:
1. 红帽系列
red hat linux: 大名鼎鼎的红帽,现在已经完结。以此为基础有以下分支:
red hat enterprise: () 这个是企业级的linux,主要面向服务器。作为商业版,有比较好的配套软件和技术支持。rh的教材也堪称经典。
fedora: () 由社区维护,去除了一些商业软件。红帽实际上赞助了这个项目,以便以此作为技术测试平台。
centos: () 这个版本不来自红帽的公司,是收集红帽公开的源码组成的免费版本,由社区维护,和红帽完全兼容。版本号升级较慢,但有持续的技术支持,所以适合于不愿意频繁升级的情形,鸟哥中就推荐以centos来建站。
2. suse系列
suse linux enterprise: () 和红帽商业版类似,是德国公司制作的,据说在欧洲比较流行,但我欧洲的朋友表示没怎么听说过。suse系列比较有特色的是yast2,就是用来设置linux的界面,对初级管理员比较方便。
opensuse: () suse的免费版本。以前suse不是很推这个免费版本,支持不好。现在似乎态度大大转变。就我个人的使用体验来说,还是觉得社区支持不足。
3. debian系列
debian: () 完全免费,社区维护的linux版本,有很大的用户群,所以遇到问题,基本都可以找到社区用户的支持。
ubuntu: () 由一个基金提供支持的免费linux版本。 继承自debian。界面很友好。发邮件过去,还会送你免费安装cd (不知道现在还有没有)。现在的版本加载的东西有些多,速度有些慢。写《大教堂和市集》的eric raymond说它是最好的linux。
mint (), 基于ubuntu。它提供了更加丰富的预装应用,以减少用户搜索并安装应用的麻烦。其使用的应用版本比较新,可能不是很稳定。
此外,还有如下一些版本:
gentoo () 基于源码的版本,提供给用户很大的*度。为用户提供大量应用程序的源码,可以在用户的系统上重新编译建造。需要一定的系统配置的知识。
archlinux (),推崇简洁,避免不必要和复杂的修改,是一个轻便灵活的版本。其配置文件有良好注释。
mandriva () 一个很方便用户使用的版本,其目标是使得新用户更容易使用linux。
slackware () 稳定,基本。它的只包含稳定版本的应用程序。对于初级用户不是很友好。
turbolinux () 在亚洲比较流行。商业版本,提供技术支持和咨询服务。