结论
我们常说的Linux,准确地来讲,应该是叫“GNU/Linux”
以下内容主要来自
https://www.gnu.org/
https://www.gnu.org/
GNU 是一个类 Unix 操作系统。它是由多个应用程序、系统库、开发工具乃至游戏构成的程序集合。GNU 的开发始于 1984 年 1 月,称为 GNU 工程。GNU 的许多程序在 GNU 工程下发布;我们称之为 GNU 软件包。
“GNU” 这个名字是 “GNU's Not Unix” 的递归首字母缩写词。“GNU” 的发音为 g'noo,只有一个音节,发音很像 “grew”,但需要把其中的 r 音替换为 n 音。
类 Unix 操作系统中用于资源分配和硬件管理的程序称为 “内核”。GNU 所用的典型内核是 Linux。该组合叫做 GNU/Linux 操作系统。GNU/Linux 为几百万用户所使用,然而许多人 错误地称之为 “Linux”。
GNU 自己的内核,The Hurd,开始于 1990 年(早于 Linux)。志愿者们仍在继续开发 Hurd,因为它是一个有趣的技术项目。
https://www.gnu.org/gnu/gnu-history.html
1983年GNU工程被构想为回归早期计算机社区中广泛存在的合作精神的一种方法 - 通过除去私有软件拥有者设置的障碍而使得合作再次成为可能。
一个操作系统并不仅仅是一个内核;它也包括了编译器、编辑器、文本格式化软件、邮件软件以及其他很多别的东西。因此,写一个完全的操作系统是一项巨大的工作。它需要多年。
我们决定将操作系统与Unix兼容是因为它的整体设计历经考验并且跨平台,而且还因为兼容性使得Unix的用户很容易从Unix上转移到GNU。
一个自由的类Unix操作系统的初始目标已经达到了。到二十世纪九十年代,我们或者找到或者写出了除了内核以外的所有主要组件。接着Linus Torvalds开发了Linux - 一个免费的内核。将Linux与几乎完成的GNU系统的结合诞生了一个完全的操作系统:一个基于Linux的GNU系统。估计现在有上百万的人在使用基于Linux的GNU系统,包括Slackware、Debian、Red Hat和其它。
然而,GNU工程并不限于操作系统。我们的目标是提供一个完全的软件系列,满足很多用户的任何要求。这包括应用软件。我们已经拥有了一个电子表格。在今后的时间里我们希望扩展GNU Emacs使之成为一个所见即所得的桌面出版系统。
百度百科 https://baike.baidu.com/item/GNU操作系统/9596381
wiki https://en.wikipedia.org/wiki/GNU
http://zh.wikipedia.org/wiki/Linux
每天都有许多计算机用户使用一个被改动过的GNU 系统 (18k 字节),但是他们并没有意识到它。 经过一系列的事件,现在被广泛使用的 GNU 版本则经常被称作“Linux”,可是许多用户并不了解与之相关的 GNU 工程。
Linux 确实存在;它是一个内核,许多人都在使用它。但是你不能仅使用内核本身。内核只有作为整个系统的一个部分才有用处。Linux 是和 GNU 操作系统结合在一起使用:系统本身是 GNU,与 Linux 作为内核一起工作。
许多用户没有并不完全了解 Linux 内核和被称作“Linux”的整个系统的区别。而不加区别地使用这个名字并不能对理解有帮助。
程序员一般都知道 Linux 是一个内核。但是因为他们也听到整个系统被称作“Linux”,他们会根据名字去想象历史。比如,很多人认为当 Linus Torvalds 完成了内核后,他的朋友四处寻找其他的自由软件,而且所有的可以被组装成一个类似 Unix 系统的程序都是现成的。
他们的发现不是巧合 -- 这就是 GNU 系统。 可用的自由软件加在一起就组成了一个完整的系统,这是由于自 1984 年就开始的 GNU 工程一直在为此努力。GNU 宣言(31k 字节) 早已设立了开发一个类似 Unix 的自由系统的目标,称作 GNU。GNU 工程的最初公告 也勾画了 GNU 系统的原始提纲。在 Linux 被编写时,这个系统几乎已经完成。
大多数自由软件的工程都是为了特定的工作开发特定的程序。比方说,Linus Torvalds 编写类似 Unix 的内核(Linux); Donald Knuth 编写一个文本格式化工具(TeX); Bob Scheifler 开发一个窗口系统(X Window System)。对于这项工程编写的程序都作出了贡献,对这些贡献进行评估是很自然的。
但是我们不认为这是一个解决问题的适当方法。GNU 工程以前不是,现在也不是一个开发某个软件包的工程。它不是一个 开发 C 编译器的工程, 尽管我们做了。它也不是一个开发一个文本编辑器的工程,尽管我们也做了。GNU 工程的目标是开发一个完全自由的类似 Unix 的系统: GNU。
许多人已经为系统中的自由软件作出了重大贡献,他们都应该获得荣誉。但 GNU 是一个系统而不是一些实用程序的组合的原因是,GNU 工程的最初目标就是做一个完整系统。我们曾经为完成一个完整的系统做了一个所需程序清单,而且我们有系统地寻找,编写这些程序,并且寻找别人编写清单上的每一个程序。我们编写了关键的但是十分枯燥的主要部件,比如汇编语言和连接器,因为这是系统所必需的。除了编程工具,一个完整的系统还需要更多的东西, Bourne Again SHell 程序, PostScript 解释器 Ghostscript, 和 GNU C 库 同样是很重要的。
到了 90 年代初期,我们曾经把除了内核以外的东西放到一起组成了一个系统(我们同时也在做内核的工作)称为 GNU Hurd, 运行在 Mach 上)。开发这个内核比我们想象的要难得多,我们现在仍然在 为此工作。
庆幸的是,你不必再等了,因为 Linux 开发成功。当 Linus Torvalds 写成了 Linux,他填补了一个重要的空白。人们可以将 Linux 和 GNU 系统组成一个完整的自由系统:基于 Linux 的 GNU 系统(或简称为 GNU/Linux 系统)。
把它们组合到一起听起来很容易,但是这并不是一个简单的工作。 GNU C 库 (简称 glibc) 需要作大量的修改。集成到一个完整的发行系统中也是一项很大的工作。它需要对如何安装和启动系统进行定位 -- 这个问题直到现在还在完善,因为我们还没有抓住要点。那些开发了不同的发行系统的人们作出了巨大贡献。
除了 GNU,还有一个独立进行的工程开发了一个自由的类似 Unix 的操作系统。这个系统被称为 BSD,它是由 UC Berkeley 开发的。 在 GNU 工程的鼓舞下,BSD 的开发者开始进行他们自己的自由软件的开发工作,并时常受到 GNU 人士的鼓励,但是他们的实际工作与 GNU 差别不大。今天 BSD 系统采用一些 GNU 软件,就象不同版本的 GNU 系统也采用 BSD 的软件一样。总的说来,它们是两套独立开发的不同的系统。今天一个免费的操作系统几乎都是采用 GNU 或 BSD 系统的一个派生版本。
GNU 工程支持 GNU/Linux 系统,就象支持 GNU 系统一样 -- 包括资金的支持。我们为重写与 Linux 相关的 GNU C 库提供资金,以至于它们现在可以很好地集成在一起,直到最新版本的 GNU/Linux 仍在使用这个库而无需修改。我们也为早期 Debian GNU/Linux 的开发提供资金。
http://os.51cto.com/art/200608/30399.htm
相信很多人看到了这个标题就会产生疑问,这篇文章到底要讲什么东西?在回答这个问题之前,我先提出几个问题?
1. 什么是Linux?
2. 什么是GNU?
3. GNU/Linux是什么玩意儿?
在回答了以上问题后,大家自然也清楚我想说明的问题了。