第1篇 Ubuntu工作站必知必会
第1章
Ubuntu的进化
1.1 GNU/Linux的历史和文化
1.1.1 GNU/Linux是Linux的全称
GNU/Linux是Linux的全称,通常大家都习惯将GNU/Linux简称为Linux(本书简称为Linux)。严格来说,Linux只是一个内核(Kernel),如果没有GNU项目提供的丰富的自由软件,仅一个Linux内核什么也干不了,而大家使用的各种Linux发行版本其实只是Linux内核配以GNU丰富的自由软件而已。所以,一个Linux使用者,首先要知道Linux的全称——GNU/Linux。
GNU(Gnu is Not UNIX)项目创立于1984年,创始人为Richard Matthew Stallman(缩写为RMS,下文简称Stallman)。正是由于这个著名项目才有了后来轰轰烈烈的自由软件运动。
Stallman先生于1971年进入麻省理工学院(MIT)人工智能实验室工作,后来成为软件共享社区的重要成员。20世纪70年代中期的软件圈(当时还没有商业化的软件产业)鼓励自由复制、自由学习、相互切磋,计算机软件领域的一个优良传统就是为人人所共享。但风云突变,软件业的游戏规则随着一家公司的崛起而完全改变。20世纪70年代末,以微软公司创始人比尔·盖茨的《致电脑业余爱好者的一封公开信》为标志,以世界知识产权组织(WIPO)制定的《保护文学和艺术作品伯尔尼公约》(Berne Convention for the Protection of Literary and Artistic Works)为框架,计算机软件业迅速进入了版权时代,在这个巨大变革发生时,一个偶然的事件促使Stallman先生萌生了开发自由软件的念头,使他成为世界著名的自由软件精神领袖。
自由软件的故事大致如下:当时施乐(Xerox)公司先后两次赠送激光打印机(Laser Printer)给实验室,由于当时激光打印机的体积比较庞大,所以只能放到离办公室很远的地方,遗憾的是,打印机的驱动存在问题,使用起来经常出现故障,好在当时打印机还提供了驱动的源代码,所以,Stallman很快就通过修改源代码解决了问题。可到了后来,也就是20世纪70年代末,由于软件的版权法已经生效,所以,Stallman无法获得打印驱动的源代码,导致打印机出了问题也无法自行修改,这次偶然的事件深深触动了Stallman,使他在头脑中诞生了自由软件的概念,并在其身体力行下,开拓了一条和商业软件封闭源代码截然不同的自由软件道路。
Stallman认为当时最重要的是要开发一个自由的操作系统,于是GNU项目应运而生,通过从其程序设计中采用递归方式命名就可以看出,其目标是开发一个兼容UNIX,与UNIX系统类似但又不涉及UNIX庞杂版权的免费操作系统。GNU项目包括编辑器(Emacs)、编译器(GCC)、调试器(GDB)、内核(Hurd)、各种Shell及应用程序等多个项目,几乎涵盖了计算机应用的方方面面。GNU的官方网址为http://www.gnu.org/,该项目的Logo如图1-1所示。
图1-1 GNU的Logo(图片来源:维基百科)
1.1.2 Linux的诞生
GNU项目的内核开发进度相对滞后,而这时由Linus在互联网上发起开发的Linux项目恰好填补了GNU项目的这个空缺,Linux大量借鉴了Linus老师为教学而创建的类UNIX系统Minix,甚至早期的Linux系统也离不开Minix。Minix的运行效果如图1-2所示。
图1-2 Minix的运行效果(图片来源:softpedia.com)
千万不要小瞧Minix,它可是世界上最流行的操作系统,远比Windows及Linux流行,因为从2008年开始,几乎所有的Intel处理器都植入了Minix系统,并且运行在处理器的Ring-3级别,普通用户根本无法触碰到这个隐秘的运行级别。
后来随着Linux的流行,许多组织和厂商纷纷推出自行定制内核和应用程序的Linux发行版本,如著名的Slackware、Debian、SUSE、Red Hat等,这就构成了我们当今能够看到的丰富多彩的Linux发行版本。所以,无论Linux发行版本的名称或开发厂商是什么,它们都具有相同的Linux内核。目前的Linux内核源自Linus Torvalds所维护的Linux Kernel项目,Linux其实就是一个内核,并由不同公司或组织利用丰富的自由软件,自由组合或定制出数百个发行版本,Linux内核及自由软件贯穿始终。Linux内核官方网站地址为http://www. kernel.org/,对Linux内核“喜新厌旧”的朋友可以来这里下载最新的内核进行编译和升级。
由于Linux最初是由Linus开发的,所以,这个操作系统的名称是以Linus's UNIX来命名的,它的英语发音类似于“丽尼克思”,重音在第一个字上,大家可以模仿Linus Torvalds本人的Linux发音。
Linux以一只可爱的企鹅作为吉祥物和Logo,它的名字叫Tux,如图1-3所示。
图1-3 Linux的吉祥物——Tux(图片来源:维基百科)