第一章 简介
七、Linux系统的优缺点
前面章节提到,相比 Windows 系统,Linux 系统有更好的稳定性,那么除此之外,Linux 系统还有那些优点(或者不足)呢?本节带领大家详细了解一下。
1、大量的可用软件及免费软件
Linux 系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的 Apache、Samba、PHP、MySQL 等,构建成本低廉,是 Linux 被众多企业青睐的原因之一。当然,这和 Linux 出色的性能是分不开的,否则,节约成本就没有任何意义。
但不可否认的是,Linux 在办公应用和游戏娱乐方面的软件相比 Windows 系统还很匮乏,所以,即便打游戏、看影片用的也是 Windows,至于 Linux,就把它用在擅长的服务器领域吧。
2、良好的可移植性及灵活性
Linux 系统有良好的可移植性,它几乎支持所有的 CPU 平台,这使得它便于裁剪和定制。我们可以把 Linux 放在 U 盘、光盘等存储介质中,也可以在嵌入式领域广泛应用。
如果读者希望不进行安装就体验 Linux 系统,则可以在网上下载一个 Live DVD 版的 Linux 镜像,刻成光盘放入光驱或者用虚拟机软件直接载入镜像文件,设置 CMOS/BIOS 为光盘启动,系统就会自动载入光盘文件,启动进入 Linux 系统。
3、 优良的稳定性和安全性
著名的黑客埃里克•雷蒙德(EricS.Raymond)有一句名言:"足够多的眼睛,就可让所有问题浮现"。举个例子,假如笔者在演讲,台下人山人海,明哥中午吃饭不小心,有几个饭粒粘在衣领上了,分分钟就会被大家发现,因为看的人太多了;如果台下就稀稀落落两三个人且离得很远,那就算明哥衣领上有一大块油渍也不会被发现。
Linux 开放源代码,将所有代码放在网上,全世界的程序员都看得到,有什么缺陷和漏洞,很快就会被发现,从而成就了它的稳定性和安全注。
提到 Linux 的安全性,我们可以做一个实验:在一台计算机上,在安装了 Windows 系统后不安装杀毒软件联网一个月,看看会有什么情况;同样,在安装了 Linux 系统后不安装杀毒软件联网一个月,我们比较一下,大家就明白了什么是 Linux 的安全性。Windows 系统不安装杀毒软件,相信大家都知道会有什么下场吧......
4、 支持几乎所有的网络协议及开发语言
经常有初学的朋友问我,Linux 是不是对 TCP/IP 协议支持不好、是不是 Java 开发环境不灵之类的问题。前面在 UNIX 发展史中已经介绍了,UNIX 系统是与 C 语言、TCP/IP 协议一同发展起来的,而 Linux 是 UNIX 的一种,C 语言又衍生出了现今主流的语言 PHP、Java、C++ 等,而哪一个网络协议与 TCP/IP 无关呢?所以,Linux 对网络协议和开发语言的支持很好。
Linux 的优点在此不一一列举,只说明这几点供读者参考。诚然,Linux 不可能没有缺点,如桌面应用还有待完善、Linux 的标准统一还需要推广、开源软件的盈利模式与发展还有待考验等,不过,瑕不掩瑜。
八、常见Linux发行版本有哪些?
新手往往会被 Linux 众多的发行版本搞得一头雾水,我们首先来解释一下这个问题。
从技术上来说,李纳斯•托瓦兹开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。
在 Linux 内核的发展过程中,各种 Linux 发行版本起了巨大的作用,正是它们推动了 Linux 的应用,从而让更多的人开始关注 Linux。因此,把 Red Hat、Ubuntu、SUSE 等直接说成 Linux 其实是不确切的,它们是 Linux 的发行版本,更确切地说,应该叫作"以Linux为核心的操作系统软件包"。
Linux 的各个发行版本使用的是同一个 Linux 内核,因此在内核层不存在什么兼容性问题,每个版本有不一样的感觉,只是在发行版本的最外层(由发行商整合开发的应用)才有所体现。
Linux 的发行版本可以大体分为两类:
- 商业公司维护的发行版本,以著名的 Red Hat 为代表;
- 社区组织维护的发行版本,以 Debian 为代表。
很难说大量 Linux 版本中哪一款更好,每个版本都有自己的特点。下面为大家介绍几款常用的 Linux 发行版本。
1、 Red Hat Linux
Red Hat(红帽公司)创建于 1993 年,是目前世界上资深的 Linux 厂商,也是最获认可的 Linux 品牌。
Red Hat 公司的产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)。
Red Hat 是在我国国内使用人群最多的 Linux 版本,资料丰富,如果你有什么不明白的地方,则容易找到人来请教,而且大多数 Linux 教程是以 Red Hat 为例来讲解的(包括本教程)。
本教程以我国国内互联网公司常用的 Linux 发行版本 CentOS 为例讲解,它是基于 Red Hat Enterprise Linux 源代码重新编译、去除 Red Hat 商标的产物,各种操作使用和付费版本没有区别,且完全免费。缺点是不向用户提供技术支持,也不负任何商业责任。有实力的公司可以选择付费版本。
2、 Ubuntu Linux
Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供。
Ubuntu 的创始人 Mark Shuttleworth 是非常具有传奇色彩的人物。他在大学毕业后创建了一家安全咨询公司,1999 年以 5.75 亿美元被收购,由此一跃成为南非最年轻有为的本土富翁。作为一名狂热的天文爱好者,Mark Shuttleworth 于 2002 年自费乘坐俄罗斯联盟号飞船,在国际空间站中度过了 8 天的时光。之后,Mark Shuttleworth 创立了 Ubuntu 社区,2005 年 7 月 1 日建立了 Ubuntu 基金会,并为该基金会投资 1000 万美元。他说,太空的所见正是他创立 Ubuntu 的精神之所在。如今,他最热衷的事情就是到处为自由开源的 Ubuntu 进行宣传演讲。
3、 SuSE Linux
SuSE Linux 以 Slackware Linux 为基础,原来是德国的 SuSE Linux AG 公司发布的 Linux 版本,1994 年发行了第一版,早期只有商业版本,2004 年被 Novell 公司收购后,成立了 OpenSUSE 社区,推出了自己的社区版本 OpenSUSE。
SuSE Linux 在欧洲较为流行,在我国国内也有较多应用。值得一提的是,它吸取了 Red Hat Linux 的很多特质。
SuSE Linux 可以非常方便地实现与 Windows 的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。
4、 Gentoo Linux
Gentoo 最初由 Daniel Robbins(FreeBSD 的开发者之一)创建,首个稳定版本发布于 2002 年。Gentoo 是所有 Linux 发行版本里安装最复杂的,到目前为止仍采用源码包编译安装操作系统。
不过,它是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。自从 Gentoo 1.0 面世后,它就像一场风暴,给 Linux 世界带来了巨大的惊喜,同时也吸引了大量的用户和开发者投入 Gentoo Linux 的怀抱。
有人这样评价 Gentoo:快速、设计干净而有弹性,它的出名是因为其高度的自定制性(基于源代码的发行版)。尽管安装时可以选择预先编译好的软件包,但是大部分使用 Gentoo 的用户都选择自己手动编译。这也是为什么 Gentoo 适合比较有 Linux 使用经验的老手使用。
要注意的是,由于编译软件需要消耗大量的时间,所以,如果你所有的软件都由自己编译,并安装 KDE 桌面系统等比较大的软件包,则可能需要花费很长时间。
5、 其他 Linux 发行版
除以上 4 种 Linux 发行版外,还有很多其他版本,表 1 罗列了几种常见的 Linux 发行版以及它们各自的特点:
版本名称 | 网 址 | 特 点 | 软件包管理器 |
---|---|---|---|
Debian Linux | www.debian.org | 开放的开发模式,且易于进行软件包升级 | apt |
Fedora Core | www.redhat.com | 拥有数量庞人的用户,优秀的社区技术支持. 并且有许多创新 | up2date(rpm),yum (rpm) |
CentOS | www.centos.org | CentOS 是一种对 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,由于 Linux 是开发源代码的操作系统,并不排斥样基于源代码的再分发,CentOS 就是将商业的 Linux 操作系统 RHEL 进行源代码再编译后分发,并在 RHEL 的基础上修正了不少已知的漏洞 | rpm |
SUSE Linux | www.suse.com | 专业的操作系统,易用的 YaST 软件包管理系统 | YaST(rpm),第三方 apt (rpm)软件库(repository) |
Mandriva | www.mandriva.com | 操作界面友好,使用图形配置工具,有庞大的社区进行技术支持,支持 NTFS 分区的大小变更 | rpm |
KNOPPIX | www.knoppix.com | 可以直接在 CD 上运行,具有优秀的硬件检测和适配能力,可作为系统的急救盘使用 | apt |
Gentoo Linux | www.gentoo.org | 高度的可定制性,使用手册完整 | portage |
Ubuntu | www.ubuntu.com | 优秀已用的桌面环境,基于 Debian 构建 | apt |
[表 1 Linux 发行版及特点汇总] |
6、Linux 发行版本的选择
Linux 的发行版本众多,在此不逐一介绍,下面给选择 Linux 发行版本犯愁的朋友一点建议:
- 如果你需要的是一个服务器系统,而且已经厌烦了各种 Linux 的配置,只是想要一个比较稳定的服务器系统,那么建议你选择 CentOS 或 RHEL。
- 如果你只是需要一个桌面系统,而且既不想使用盗版,又不想花大价钱购买商业软件,不想自己定制,也不想在系统上浪费太多时间,则可以选择 Ubuntu。
- 如果你想深入摸索一下 Linux 各个方面的知识,而且还想非常灵活地定制自己的 Linux 系统,那就选择 Gentoo 吧,尽情享受 Gentoo 带来的自由快感。
- 如果你对系统稳定性要求很高,则可以考虑 FreeBSD。
- 如果你需要使用数据库高级服务和电子邮件网络应用,则可以选择 SuSE。
以上纯属个人化建议,非官方指导意见。其实 Linux 的发行版本众多,但是系统的核心------内核却系出同门,所以只要学会使用其中一种,即可触类旁通。
九、初学者应选择哪个Linux发行版?
前面章节中,已经对几个常见的 Linux 发行版做了简单的介绍,那么对于初学者来说,选择哪个发行版的性价比更高呢?
通常情况下,初学者学习 Linux,是为了找一份和 Linux 相关的工作,那么问题来了,你知道大多数企业用哪一个 Linux 发行版搭建服务器吗?虽然没有官方统计,但凭借多年的工作经验来分析,国内大多数企业使用的都是 RHEL 或者 CentOS 作为服务器操作系统。
我们知道,RHEL 和 CentOS 都是 Red Hat 公司的产物,其中 CentOS 还可以认为是 RHEL 的克隆版本。对于 Linux 初学者来说,RHEL 和 CentOS 唯一的区别在于:
- RHEL 可以免费下载使用,但是要想获得官方授权,就必须购买授权协议(也就是所谓的服务),而且这个服务费并不便宜;
- CentOS 是使用免费的 RHEL 的源代码重新编译而成的,免费提供给大家,而且其本质上和 RHEL 没什么区别。
以 yum 工具为例(此工具对学习 Linux 很重要,具体用法会在后续章节讲解),在未购买服务的 RHEL 上,yum 是不能使用的;而在 CentOS 上,有免费的 yum 工具可以使用。
不仅如此,这里列举了几点推荐大家使用 CenOS 的理由:
- 国内多数企业使用 RHEL 搭建服务器,而且目前使用 CentOS 的企业越来越多;
- CentOS 和 RHEL 几乎一样,且 CentOS 有免费的 yum 工具可以使用;
- CentOS 目前已经加入 Red Hat 公司,且依旧完全免费;
- 学习 Linux 的本质,是要学习它最核心的那些机制,而 CentOS 并没有改变这些机制;
- 本教程中,所有案例都是用 CentOS 发行版来完成。
总之,要想吃 Linux 这碗饭,CentOS 是非常好的选择,在免费使用的同时,还可以体验到大型互联网公司的服务器系统环境,这对于未来面试找工作也是非常有利的。
有关 CentOS 系统的下载和安装,后续章节会做详细介绍。
十、Linux桌面环境(桌面系统)大比拼[附带优缺点]
早期的 Linux 系统都是不带界面的,只能通过命令来管理,比如运行程序、编辑文档、删除文件等。所以,要想熟练使用 Linux,就必须记忆很多命令。
后来随着 Windows 的普及,计算机界面变得越来越漂亮,点点鼠标就能完成很多工作,人们已经习惯了图形界面化的操作,很难再忍受一片漆黑的命令行窗口了。这推动了 Linux 社区进行变革,很快推出了 Linux 系统的图形界面环境。
完成工作的方式不止一种,Linux 一直以来都以此而闻名,在图形桌面上更是如此,Linux 有各种各样的图形化桌面可供选择。
Linux 中的桌面环境也是一个程序,它和内核不是绑定的,两者的开发也不是同步的;给不带界面的 Linux 系统安装上一个桌面环境,你就能看到各种漂亮的窗口,并能用鼠标点击它们了。
上节讲到的各种Linux发行版 其实已经附带了某种桌面环境,如果你喜欢折腾,也可以更换其它桌面环境。
个人电脑一般都会安装上桌面环境,这样操作更加便捷;Linux 服务器为了节省资源,一般都不会安装桌面环境。
下面给大家介绍几款比较流行的桌面环境。
1、 KDE 桌面系统
KDE 是 K Desktop Environment 的缩写,中文译为"K桌面环境"。
KDE 是基于大名鼎鼎的 Qt 的,最初于 1996 年作为开源项目公布,并在 1998 年发布了第一个版本,现在 KDE 几乎是排名第一的桌面环境了。
许多流行的 Linux 发行版都提供了 KDE 桌面环境,比如 Ubuntu、Linux Mint、OpenSUSE、Fedora、Kubuntu、PC Linux OS 等。
KDE 和 Windows 比较类似,各位初学者相信都是 Windows 的用户,所以切换到 KDE 也不会有太大的障碍。
KDE 允许你把应用程序图标和文件图标放置在桌面的特定位置上。单击应用程序图标,Linux 系统就会运行该应用程序。单击文件图标,KDE 桌面就会确定使用哪种应用程序来处理该文件。
KDE 是所有桌面环境中最容易定制的。在其他桌面环境中,你需要几个插件、窗口组件和调整工具才可以定制环境,KDE 将所有工具和窗口组件都塞入到系统设置中。借助先进的设置管理器,可以控制一切,不需要任何第三方工具,就可以根据用户的喜好和要求来美化及调整桌面。
KDE 项目组还还发了大量的可运行在 KDE 环境中的应用程序,包括 Dolphin(文件管理工具)、Konsole(终端)、Kate(文本编辑工具)、Gwenview(图片查看工具)、Okular(文档及PDF查看工具)、Digikam(照片编辑和整理工具)、KMail(电子邮件客户软件)、Quassel(IRC客户软件)、K3b(DVD刻录程序)、Krunner(启动器)等,它们都是默认安装的。
对 KDE 优缺点的总结:
- 优点:KDE 几乎是最先进最强大的桌面环境,它外观优美、高度可定制、兼容比较旧的硬件设备
- 缺点:Kmail 等一些组件的配置对新手来说过于复杂。
图1:KDE 桌面环境截图
2、 GNOME 桌面环境
GNOME 是 the GNU Network Object Model Environment 的缩写,中文译为"GNU网络对象模型环境"。
GNOME 于 1999 年首次发布,现已成为许多Linux发行版默认的桌面环境(不过用得最多的是 Red Hat Linux)。
GNOME 的特点是简洁、运行速度快,但是没有太多的定制选项,用户需要安装第三方工具来实现。
GNOME 甚至不包括一些简单的调整选项,比如更改主题、更改字体等,就这两种基本的调整而言,用户都需要安装第三方工具。所以,GONME 适合那些不需要高度定制界面的用户。
GNOME 被用作 Fedora 中的默认桌面环境,提供在几款流行的 Linux 发行版中,比如 Ubuntu、Debian、OpenSUSE 等。
2011 年,GNOME 3 进行了重大更新,不再采用传统的 Windows 风格的界面,而是进行了全新的设计,惊艳了很多用户。GNOME 3 的这种行为也导致部分用户和开发人员不满,他们又开发了多款其他的桌面环境,比如 MATE 和 Cinnamon。
对 GNOME 优缺点的总结:
- 优点:简单易用,可通过插件来扩展功能。
- 缺点:对插件的管理能力比较差,也缺少其它桌面环境拥有的许多功能。
图2:GNOME 桌面环境截图
3、 Unity
Unity 是由 Ubuntu 的母公司 Canonical 开发的一款外壳。之所以说它是外壳,是因为 Unity 运行在 GNOME 桌面环境之上,使用了所有 GNOME 的核心应用程序。
2010 年,Unity 第一个版本发布,此后经过数次改进,如今和其它的桌面环境一样,也可以安装到其它的 Linux 发行版上了。
Unity 使用了不同的界面风格,如果你用的是 Ubuntu Linux 发行版,你会注意到 Unity 与 KDE 和 GNOME 桌面环境有些不一样。
Unity 在左边有一个启动器,位于启动器顶部的是搜索图标,又叫"Dash"。在 Dash 上搜索文件时,不仅会给出来自硬盘的搜索结果,还会给出来自在线来源的搜索结果,比如 Google Drive、Facebook、Picasa、Flick 及其他。
Unity 还提供了隐藏启动器、触摸侧边栏就显示的选项,用户还可以调高/调低显示启动器菜单的灵敏度。
Unity 很简单、运行速度快,但 Unity 在系统设置下却没有定制桌面的太多选项,要想安装主题或者定制另外不同的选项,比如系统菜单是否应该总是可见,或者"从启动器图标一次点击最小化",用户需要安装第三方工具。
CCSM 和 Unity Tweak Tool 是面向 Unity 桌面环境的非常流行的定制工具。
对 Unity 优缺点的总结:
- 优点:界面简洁直观,可以通过第三方工具来深度定制,而且使用了平视显示器(HUD)等新技术。
- 缺点:默认的定制功能比较差劲,通知机制一般。
图3:Unity桌面环境截图
4、 MATE
上面我们提到,GNOME 3 进行了全新的界面设计,这招致一些用户的不满,他们推出了其它的桌面环境,MATE 就是其中之一。
MATE 是一种从现在无人维护的 GNOME 2 代码库派生出来的桌面环境。
MATE 让人觉得在使用旧的桌面环境,但是结合了历年来界面方面的诸多改进。MATE 还非常适用于低配计算机,所以如果你有一台旧的或速度较慢的计算机,可以使用 MATE。
MATE 还是许多流行的 Linux 发行版随带的,比如 Ubuntu、Linux Mint、Mageia、Debian 及另外更多发行版。Ubuntu MATE 头一回是官方版本。
"欢迎首次发布的 Ubuntu MATE 官方版本。现在,用户将更容易更新软件,因为所有组件现在都在 Ubuntu 软件库中。"
MATE 自带的应用程序包括 Caja(文件管理工具)、Pluma(文本编辑工具)、Atril(文档查看工具)、Eye of MATE(图像查看工具)等,如果用户不需要其他功能完备的桌面环境的所有额外功能,那么 MATE 对他们来说是一款简单的轻量级桌面环境。
对 META 优缺点的总结:
- 优点:轻量级的桌面环境,能够兼容教旧的硬件设备。
- 缺点:我也不知道有什么明显的缺点,欢迎读者留言告知。
图4:MATE 桌面环境截图
5、 Cinnamon
与 MATE 类似,Cinnamon 是由 Linux Mint 团队因为不满 Gnome 3 的改进而开发的另一种桌面环境。但 Cinnamon 与 MATE 不同之处在于,Cinnamon 建立在 Gnome 3 的基础上。Cinnamon 是新的,而且在积极开发之中,但这款出色的桌面环境没有因新颖而在功能方面有所减弱。
Cinnamon 拥有 GNOME 和 Unity 等其它桌面环境所没有的种种功能。Cinnamon 是高度可定制的桌面环境,不需要任何外部插件、窗口组件和调整工具来定制桌面。Cinnamon 甚至可以通过设置管理器本身来下载并安装主题,甚至不需要打开互联网浏览器。
由于种种出色的所需功能,Cinnamon 对任何刚接触 Linux 的新用户来说都非常方便。许多用户放弃使用 Linux,是因为他们并不了解 Linux 的工作方式,但是我强烈建议新手应从 Cinnamon 桌面环境开始入手。
许多流行的 Linux 发行版提供了各自版本的 Cinnamon,比如 Ubuntu、Fedora、OpenSUSE、Gentoo、Arch Linux 等。Cinnamon 还是 Linux Mint 的默认桌面环境。
图5:Cinnamon 桌面环境截图
对 Cinnamon 优缺点的总结:
- 优点:成熟完美,高度可性质,适合 Linux 新手。
- 缺点:有时候可能会有软件错误。
6、适用于较老硬件设备的 Linux 桌面环境
图形化桌面环境的弊端在于它们要占用相当一部分的系统资源来保证正常运行。在 Linux 发展之初,Linux 的标志和卖点之一就是它可以运行在处理能力较弱的老旧 PC 上,这些 PC 无力运行较新的 Windows 桌面。
然而随着 KDE 和 GNOME 桌面环境的普及,情况发生了变化。运行 KDE 或 GNOME 桌面要占用的内存资源和较新的 Windows 桌面环境旗鼓相当。
如果你的 PC 已经有些年代了,也不要泄气。Linux 开发人员已经联手让 Linux 返璞归真。他们开发了一些低内存开销的图形化桌面应用,提供了能够在老旧 PC 上完美运行的基本功能。尽管这些图形化桌面环境并没有大量专为其设计的应用,但它们仍然能运行许多基本的图形化程序,支持如文字处理、电子表格、数据库、绘图以及多媒体等功能。
下表列出了一些可在配置较低的 PC 和笔记本电脑上运行的轻量级 Linux 图形化桌面环境。
桌面环境 | 说明 |
---|---|
Fluxbox | 一个没有面板的轻型桌面,仅有一个可用来启动程序的弹出式菜单。 |
Xfce | 和 KDE 很像的一个桌面,但少了很多图像以适应低内存环境。 |
JWM | Joe 的窗口管理器(Joe's Window Manager),非常适用于低内存低硬盘空间环境的超轻型桌面。 |
Fvwm | 支持如虚拟桌面和面板等高级桌面功能,但能够在低内存环境中运行。 |
fvwm95 | 从 fvwm 衍生而来,但看起来更像是 Windows 95 桌面。 |
以上这些图形化桌面环境并不如 KDE 或 GNOME 桌面一样绚丽,但却提供了恰到好处的基本图形化功能。
如果你用的是老旧 PC,尝试一下基于上述某个桌面环境的 Linux 发行版,看看怎么样,可能会有惊喜哦。
图6:JWM 桌面环境截图
7、查看桌面环境
我们可以通过环境变量 DESKTOP_SESSION 来查看当前 Linux 发行版使用了哪种桌面环境,例如:
[c.biancheng.net]$ echo $DESKTOP_SESSION
gnome-classic
这表明我使用的是 GNOME。
另外,你也可以查看**/etc**下有没有对应的目录,例如 gnome 目录或者 kde 目录,如果有的话,就说明已经安装了。