GNU
是GNU is Not UNIX
的递归缩写。
GNU
的发音为Guh-NOO(革奴)
,以避免与new
这个单词混淆,因为GNU
在英文中的发音与new
相同。
GNU
在英文中的意思为非洲牛羚,所以GNU
的图标就是非洲羚羊。
GNU
官网:http://www.gnu.org
GNU
的发起人是Richard Stallman
,简称RSM
。
由于受到UNIX操作系统版权的影响,Richard Stallman
想要创建一套完全自由的操作系统。
1983年9月27日,Richard Stallman
在net.unix-wizards新闻组上公布了一条消息, 他发起了GNU Project
,并附带一份《GNU宣言》的文章,解释为何发起该工程,其中一个理由就是要“重现当年软件界合作互助的团结精神”。
GNU Project
要创建一套完全自由的操作系统,这个操作系统要实现UNIX系统的接口标准。
1985年,Richard Stallman
创立了FSF来为GNU Project
提供技术、法律以及资金支持。 尽管GNU Project
大部分时候是由个人自愿无偿贡献, 但FSF有时还是会聘请程序员帮助编写。
为保证GNU Project
开发的软件可以自由地“使用、复制、修改和发布”, 所有GNU Project
开发的软件都保护在一个协议条款——GPL下,即“反版权”(或称Copyleft)概念。
当GNU Project
开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。 当中最著名的就是之后被Red Hat
兼并的Cygnus Solutions
。
GNU Project
采用了部分当时已经可自由使用的软件,例如TeX
排版系统和X Window
视窗系统等。
GNU Project
也开发了大批其他的自由软件。 到了1990年,GNU Project
已经开发出的软件包括了一个功能强大的文字编辑器Emacs
、 一套编程语言编译器GCC、以及大部分UNIX系统的程序库和工具。 唯一依然没有完成的重要组件就是操作系统的内核Hurd。
GNU操作系统
是由一系列应用程序、系统库和开发工具构成的软件集合,并加上用于资源分配和硬件管理的内核,如下:
GNU Project
开发了大量的开源软件, 现在我们广泛使用的GNU/Linux系统, 实际上,里面很多的软件,都需要依赖GNU Project
开发的软件!
不仅GNU/Linux系统,Windows和macOS等系统也会大量使用GNU Project
开发的这些开源的软件!
GNU Project
官方只提供软件源文件的压缩包,不提供编译好的二进制包。 因为GNU Project
提供的这些软件都是完全自由使用的,你可以根据自己的喜好进行修改。
如果通过从GNU Project
官方下载的源码压缩包进行安装的话,就需要三步曲:
./configure
命令进行配置[sudo ]make install
命令进行安装,这里是否需要sudo
,要看你要安装在哪儿, 如果安装位置需要root
权限的话,就需要sudo
,否则就不需要。这三个步骤前面的步骤是后面步骤的前提,每一步出错了,后面的步骤就不能执行,所以,通常把这三步连成下面的方式写:
./configure && make && sudo make install
另外,一些其他组织或者个人已经事先编译好了特定平台的二进制包,我们也可以通过一些包管理工具进行安装。
你可能经常会听到、看到GNU ToolChain
这个名词,在软件工程中,工具链(ToolChain
)是一系列工具软件的集合,并且 这些工具软件一般是一个接一个地运用,一个工具软件的输出是另外一个工具软件的输入,就这样串联起来,像一条链。