实战大数据:分布式大数据分析处理系统开发与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.1 Linux操作系统

1.Linux概述

Linux内核最初是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux是一套免费使用和自由传播的类UNIX操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux上能运行主要的UNIX工具软件、应用程序和网络协议,还支持32位和64位硬件。Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前较知名的发行版有Ubuntu、CentOS、Debain、Fedora、SuSE、OpenSUSE。

2.Linux和Windows操作系统的区别

Linux和Windows操作系统的区别如表1-1所示。

表1-1 Linux和Windows的区别

(续)

3.Linux版本介绍

(1)Fedora

Fedora是一个开放、创新、前瞻性的Linux操作系统和平台。它允许任何人自由地使用、修改和重发布。Fedora由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora项目由Fedora基金会管理和控制,得到了红帽公司(Red Hat)的支持。Fedora是一个独立的操作系统,是Linux的一个发行版,可运行的体系结构包括x86、x86_64和PowerPC。

Fedora和Redhat这两个Linux发行版联系很密切,可以说Fedora Core的前身就是Red Hat Linux。2003年9月,红帽公司突然宣布不再推出个人使用的发行套件而专心发展商业版本(Red Hat Enterprise Linux)的桌面套件,但是红帽公司同时也宣布将原有的Red Hat Linux开发计划和Fedora计划整合成一个新的Fedora Project。Fedora Project将会由红帽公司赞助,以Red Hat Linux 9为范本加以改进,原本的开发团队将会继续参与Fedora的开发计划,同时也鼓励开放源码社群参与开发工作。Fedora可以说是Redhat桌面版本的延续,只不过是与开源社区合作。

(2)Debian

Debian系列包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch):stable、testing和unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是bug也相对较多,适合桌面用户。testing版本是通过对unstable的测试而得来的,相对稳定,也支持了不少新技术(如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定性和安全性都非常高。Debian最具特色的是apt-get/dpkg包管理方式。其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的。Debian的资料也很丰富,有很多支持的社区,方便问题求解。

(3)Ubuntu

Ubuntu是目前使用最多的Linux发行版,有KDE和GNOME等视窗界面可供选择,拥有强大的apt-get软件管理程序,安装管理软件很方便,推荐新手使用。

Ubuntu严格来说不能算一个独立的发行版本,它是基于Debian的unstable版本加强而来的。可以说,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择:基于GNOME的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。Ubuntu的界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。

(4)Gentoo

Gentoo是Linux最年轻的发行版本,正因为年轻,所以能吸取在它之前的所有发行版本的优点,这也是Gentoo被称为完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,Gentoo拥有着媲美FreeBSD的广受美誉的Ports系统——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux发行版本中安装最复杂的,但又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。

(5)FreeBSD

FreeBSD并不是一个Linux系统。但由于FreeBSD与Linux的用户群有相当一部分是重合的,两者支持的硬件环境比较一致,所采用的软件也比较类似,故可以将FreeBSD视为一个Linux版本。FreeBSD拥有两个分支:stable和current,即stable是稳定版,而current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编译后才能运行,但是Ports系统没有Portage系统简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。

(6)OpenSUSE

OpenSUSE是在欧洲非常流行的一个Linux发行版本,由Novell公司发放,号称是世界上最华丽的Linux操作系统,其独家开发的软件管理程序zypper和yast得到了许多用户的赞美。与Ubuntu一样,支持KDE和GNOME、xFace等桌面,桌面特效比较丰富,新手容易上手;缺点是KDE虽然华丽多彩,但比较不稳定。

(7)CentOS

CentOS(Community Enterprise Operating System)是Linux发行版之一,也被称为社区企业操作系统,是企业Linux发行版的领导者Red Hat Enterprise Linux(以下简称RHEL)的重新编译版本。RHEL是许多企业使用的Linux发行版,需要向Red Hat付费才能使用,同时可获得技术支持和版本升级。

由于CentOS与RHEL源代码相同,两者的区别在于CentOS不包含闭源软件。CentOS可以像REHL一样搭建Linux系统环境,但不需要向Red Hat支付任何费用,也不接受任何有偿的技术支持和升级服务。

CentOS适合那些需要企业级操作系统稳定性,但又不想承担认证和支持成本的组织和个人。

下面给出选择Linux发行版本的一些建议(仅供参考,是在综合考虑Linux发行版本的用途和优点基础上得出的结论)。

如果只需要一个桌面系统,而且既不想使用盗版,又不想花大量的钱购买商业软件,那么选择适合桌面使用的Linux发行版本;如果不想定制任何东西,也不想在系统上浪费太多时间,那么可根据自己的喜好在Ubuntu、Kubuntu以及Xubuntu中选择一款,三者的区别仅仅是桌面程序的不同。

如果需要一个桌面系统,而且还想非常灵活地定制自己的Linux系统,想让自己的机器跑得更欢,不介意在Linux系统安装方面浪费时间,那么唯一的选择就是Gentoo。

如果需要的是一个坚如磐石的、非常稳定的服务器系统,那么唯一的选择就是FreeBSD。

如果需要一个稳定的服务器系统,并且想深入探索一下Linux各个方面的知识,还想要独家定制许多内容,那么推荐使用Gentoo。

如果需要的是一个服务器系统,而且非常厌烦各种Linux的配置,只是想要一个比较稳定的服务器系统,那么最好的选择就是CentOS。CentOS安装完成后,经过简单的配置就能提供非常稳定的服务。

本书选择使用CentOS系统进行讲解。