summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/zh/linux-and-gnu.html
blob: 744cf1806b0dfcf3632c0f0f9ec33659a4a34658 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
<!--#set var="ENGLISH_PAGE" value="/gnu/linux-and-gnu.en.html" -->

<!--#include virtual="/server/header.zh-cn.html" -->
<!-- Parent-Version: 1.96 -->
<!-- This page is derived from /server/standards/boilerplate.html -->
<!--#set var="TAGS" value="gnulinux" -->
<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->

<!-- This file is automatically generated by GNUnited Nations! -->
<title>Linux 和 GNU - GNU 工程 - 自由软件基金会</title>
<style type="text/css" media="print,screen"><!--
a.ftn { font-size: .94em; }
-->
</style>
<meta http-equiv="Keywords" content="GNU、FSF、自由软件基金会、Linux、Emacs、GCC、Unix、自由软件、操作系统、GNU内核、HURD、GNU HURD、Hurd" />
<meta http-equiv="Description" content="自1983年以来,我们一直在开发自由的类Unix操作系统GNU,这样计算机用户就能够拥有分享和改进他们使用的软件的自由。" />

<!--#include virtual="/gnu/po/linux-and-gnu.translist" -->
<!--#include virtual="/server/banner.zh-cn.html" -->
<!--#include virtual="/gnu/gnu-breadcrumb.zh-cn.html" -->
<!--GNUN: OUT-OF-DATE NOTICE-->
<!--#include virtual="/server/top-addendum.zh-cn.html" -->
<div class="article reduced-width">
<h2>Linux和GNU系统</h2>

<address class="byline"><a href="https://www.stallman.org/">理查德·斯托曼</a> 著</address>

<p>
每天都有许多计算机用户使用一个被改动过的 <a href="/philosophy/categories.html#TheGNUsystem">GNU
系统</a>,但是他们并没有意识到。经过一系列的事件,现在被广泛使用的 GNU 版本则经常被称作 &ldquo;Linux&rdquo;,而且许多用户并
<a href="/gnu/gnu-users-never-heard-of-gnu.html">不了解</a> 它基本上就是 GNU 系统,是由 <a
href="/gnu/gnu-history.html">GNU 工程</a> 开发的。</p>

<div class="announcement comment" role="complementary">
<hr class="no-display" />
<p>更多信息,请同时参看<a href="/gnu/gnu-linux-faq.html">GNU/Linux常见问题</a>和<a
href="/gnu/why-gnu-linux.html">为什么是GNU/Linux?</a></p>
<hr class="no-display" />
</div>

<p>
Linux确实存在,许多人都在使用它,但它仅仅是所用系统的一部分。Linux是内核:它是为你运行的其他程序分配计算机资源的程序。内核是操作系统的基本部分,但是它自己并无用处;它只能在完整的操作系统框架下才能发挥作用。Linux一般和GNU操作系统一起使用:整个系统基本上就是GNU加上Linux,或叫GNU/Linux。所有被叫做&ldquo;Linux&rdquo;的发行版实际上是GNU/Linux发行版。</p>

<p>
许多用户并不了解作为内核的 Linux 和也被称作 &ldquo;Linux&rdquo;
的整个系统的区别。而不加区别地使用该名称并不能帮助人们对此的理解。这些用户常常认为 Linus Torvalds 在 1991
年凭借一些帮助完成了整个操作系统的开发。</p>

<p>
程序员一般知道Linux是一个内核。但是他们一般也听到整个系统叫&ldquo;Linux&rdquo;,他们通常会设想的历史是整个系统要以内核命名。例如,许多人相信一旦Linus
Torvalds完成了Linux内核,其用户就搜索一些自由软件来和内核一起工作,此时他们发现(没有特别的原因)构成一个类似Unix系统的大多数必要组件已经有了。</p>

<p>
他们的发现不是巧合&mdash;它正是还没有全部完成的GNU系统。这些已经完成的<a
href="/philosophy/free-sw.html">自由软件</a>加在一起就构成了完整的系统,因为GNU工程从1984年起就在做这件事。在<a
href="/gnu/manifesto.html">GNU宣言</a>中,我们已经阐明了开发一个自由的类似Unix的系统的目标,它叫做GNU。GNU工程的<a
href="/gnu/initial-announcement.html">初始声明</a>也勾画了GNU系统的一些原始计划。在Linux开始时,GNU几乎已经完成。</p>

<p>
大多数自由软件项目以完成某项具体工作为目标。例如,Linus Torvalds编写一个类似Unix的内核(Linux);Donald
Knuth编写一个文本排版软件(TeX);Bob Scheifler开发一个窗口系统(X
Window系统)。测量该工程里各个程序的贡献是一件自然的事情。</p>

<p>
如果我们这样测量 GNU 工程的贡献,我们会得出什么结论?一个 CD-ROM 提供商发现在他们的 &ldquo;Linux 发行版&rdquo;中,<a
href="/philosophy/categories.html#GNUsoftware">GNU 软件</a>
占单一最大的比重,大约是整个源代码的28%,其中包括一些关键性主要部件,没有它们,就没有整个系统。Linux 自身占大约3%。(这个比例在 2008
年也差不多:在 gNewSense 的&ldquo;主&rdquo;库中,Linux 占1.5%,而 GNU
包占15%。)所以如果你要根据谁的代码多来命名系统,最合适的单个选择是 &ldquo;GNU&rdquo;。</p>

<p>
但是这不是考虑此问题的最深刻方法。GNU工程过去不是、现在也不是,一个开发专门软件包的项目。它不是一个<a
href="/software/gcc/">开发C编译器</a>的工程,不过我们做了。它也不是一个开发文本编辑器的工程,我们也做了。GNU工程是要开发<em>一个完全自由的类似Unix的系统</em>:GNU。</p>

<p>
许多人已经为系统中的自由软件作出了重大贡献,他们都应该获得荣誉。但 GNU
是<em>一个整合系统</em>&mdash;&mdash;而不是一些实用程序集合的原因是,GNU
工程的最初目标就是做一个完整系统。我们曾经为完成一个<em>完整的</em>自由系统列了一个所需程序的清单,而且我们系统地寻找、编写、或者征询别人编写清单上的每一个程序。我们编写了关键的但是十分枯燥的&#8239;<a
class="ftn" href="#unexciting">[1]</a>
主要部件,因为这是系统所必需的。有些系统部件,比如编程工具,自己也变成程序员使用的流行工具,但是我们还编写了许多不是工具的部件&#8239;<a
class="ftn" href="#nottools">[2]</a>。我们甚至还开发了一个国际象棋游戏,叫GNU
Chess,因为一个完整的系统也需要游戏。</p>

<p>
到了90年代初期,我们曾经把除了内核以外的东西放到一起组成了一个系统。我们也在开始开发一个内核,称为<a
href="/software/hurd/hurd.html">GNU Hurd</a>,运行在Mach<sup><a
href="#TransNote1">1</a></sup>之上。开发这个内核比我们的预期要难得多;<a
href="/software/hurd/hurd-and-linux.html">GNU
Hurd在2001年开始可以稳定工作</a>,但是距离能够被人们正常使用还有很长的路要走。</p>

<p>
庆幸的是,我们不必再等 Hurd 了,因为有了 Linux。当 Linus Torvalds 在 1992 年使 Linux 成了自由软件,它填补了
GNU 系统的一个重要空白。人们可以 <a
href="https://ftp.funet.fi/pub/linux/historical/kernel/old-versions/RELNOTES-0.01">把
Linux 和 GNU 系统结合起来</a> 组成一个完整的自由系统&mdash;&mdash;一个带有 Linux 的 GNU 系统。换句话说,就是
GNU/Linux系统。</p>

<p>
把它们组合到一起并不是一个简单的工作。有些 GNU 部件&#8239;<a class="ftn"
href="#somecomponents">[3]</a>需要作大量的修改才能适应
Linux。把系统集成到一个完整的发行版本中、使之&ldquo;能够直接安装并工作&rdquo;也是一项艰巨的工作。它需要考虑如何安装和启动系统&mdash;&mdash;我们那时还未处理此问题,因为我们还没有走到那一步。因此,那些开发了不同的发行版的人们作出了许多重要的工作。但是这些工作的属性是,它们终究会被某些人做的。</p>

<p>
GNU 工程支持 GNU/Linux 系统,就象支持<em>其</em> GNU 系统一样。<a
href="https://fsf.org/">FSF</a> 为重写与 Linux 相关的 GNU C
库提供资金,以至于它们现在可以很好地集成在一起,最新版本的 GNU/Linux 系统使用当前库而无需修改。FSF 也为早期 Debian
GNU/Linux 的开发提供资金。</p>

<p>
今天有很多不同的GNU/Linux系统(通常叫做&ldquo;发行版&rdquo;)。它们大多数包含了非自由软件&mdash;它们的开发者遵循的是和Linux相关的<a
href="/philosophy/open-source-misses-the-point.html">&ldquo;开源&rdquo;哲学</a>,而不是GNU的<a
href="/philosophy/free-software-even-more-important.html">&ldquo;自由软件&rdquo;哲学</a>。然而,也有<a
href="/distros/distros.html">完全自由的GNU/Linux发行版</a>。FSF支持其中一些发行版相关的电脑及其周边件。</p>

<p>制作一个自由的 GNU/Linux 发行版不止是剔除非自由软件。现在,常规的 Linux 版本也带有非自由程序。这些程序会在系统启动时加载到
I/O(输入输出)设备,它们以很长的数字形式包含在 Linux 的&ldquo;源代码&rdquo;中。所以,维护自由的 GNU/Linux
发行版现在承担着维护一个 <a href="https://directory.fsf.org/project/linux">自由版 Linux</a>
的责任。</p>

<p>无论你是否使用 GNU/Linux,请不要含糊不清地使用&ldquo;Linux&rdquo;这一名称来混淆大众。Linux
是一个内核,是系统的主要基本部件之一。整个系统基本上是 GNU 系统,加上
Linux。如果你说的是这个组合,请称之为&ldquo;GNU/Linux&rdquo;。</p>

<p>
如果你想为&ldquo;GNU/Linux&rdquo;提供参考链接,本页面和 <a
href="/gnu/thegnuproject.html">https://www.gnu.org/gnu/thegnuproject.html</a>
是好的选择。如果你说的是作为内核的 Linux,要为它提供参考链接,<a
href="https://foldoc.org/linux">https://foldoc.org/linux</a>是一个好的 URL。</p>
<div class="column-limit"></div>

<h3 class="footnote">后记</h3>

<p>
除了GNU,还有一个独立进行的工程开发了一个自由的类似Unix的操作系统。这个系统是BSD,它是由UC
Berkeley开发的。在80年代,BSD还不是自由的,但是它在90年代初变成了自由软件。今天,一个自由的操作系统&#8239;<a
class="ftn" href="#newersystems">[4]</a>差不多如果不是GNU系统的派生版本,就是BSD系统的派生版本。</p>

<p>
人们有时会问BSD是否也是一个GNU的派生版本,像GNU/Linux那样。BSD的开发者受到GNU工程的激励而将他们的代码变成了自由软件,尤其受到来自GNU的活动家的明确吸引和帮助,但是他们的代码和GNU并不重合。BSD系统现在也使用一些GNU程序,正如GNU系统及其派生版使用一些BSD程序一样;然而,整体来看,他们是两个独立发展的不同系统。BSD的开发者并没编写一个内核,并将之添加到GNU系统,进而起个譬如叫GNU/BSD的名字,并不是这个情况&#8239;<a
class="ftn" href="#gnubsd">[5]</a>。</p>
<div class="column-limit"></div>

<h3 class="footnote">脚注</h3>
<ol>
<li id="unexciting">这些关键但枯燥的部件包括 GNU 汇编器(GAS)和连接器(GLD),他们现在都是 <a href="/software/binutils/">GNU
Binutils</a> 软件包的一部分,以及 <a href="/software/tar/">GNU tar</a>,还有其他许多软件。</li>

<li id="nottools">比如,Bourne Again SHell(BASH),PostScript 解释器 <a
href="/software/ghostscript/ghostscript.html">Ghostscript</a>,和 <a
href="/software/libc/libc.html">GNU C库</a>都不是编程工具。GNUCash、GNOME 和 GNU Chess
也不是。</li>

<li id="somecomponents">例如,<a href="/software/libc/libc.html">GNU C库</a>。</li>

<li id="newersystems">自从本文出版以来,有一个几乎完全自由的类似 Windows 的系统已经开发完成,但是从技术上说,它根本不像 GNU 或
Unix,所以它不影响这个问题。Solaris
内核的大部分都变成了自由软件,但是如果你要根据这些制作一个自由系统,除了要添加内核缺少的部分,你还需要把它添加到 GNU 或 BSD 中去。</li>

<li id="gnubsd">另一方面,自从本文发表之后,GNU C 库已经移植到多个 BSD 内核版本,这就使组合 GNU 系统和这些内核变得直截了当。正如 GNU/Linux
一样,这些也是 GNU 系统的派生版本,而且他们也因此根据内核的不同,被称为,比如,GNU/kFreeBSD 和
GNU/kNetBSD。普通桌面版本用户很难分辨出 GNU/Linux 和 GNU/*BSD。</li>
</ol>
</div>

<div class="translators-notes">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
<h3>译注</h3>
<ol>
<li id="TransNote1">Mach,一个由卡内基.梅隆大学开发的微内核系统。其中一个衍生版本成为GNU Hurd的内核。</li>
</ol></div>
</div>

<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.zh-cn.html" -->
<div id="footer" role="contentinfo">
<div class="unprintable">

<p>请将有关自由软件基金会(FSF) &amp; GNU 的一般性 &amp; 问题发送到<a
href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>。也可以通过 <a
href="/contact/">其他联系方法</a> 联系自由软件基金会(FSF)。请将无效链接,其他错误或建议发送给<a
href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>。</p>

<p>
<!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        &lt;web-translators@gnu.org&gt;</a>.</p>

        <p>For information on coordinating and contributing translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
我们尽最大努力来提供精准和高质量的翻译,但难免会存在错误和不足。如果您在这方面有评论或一般性的建议,请发送至 <a
href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>。</p><p>关于进行协调与提交翻译的更多信息参见
<a href="/server/standards/README.translations.html">《译者指南》</a>。</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->
<p>Copyright &copy; 1997-2002, 2005, 2008, 2019, 2021 Richard Stallman</p>

<p>本页面使用<a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons
Attribution-NoDerivatives 4.0 International License</a>授权。</p>

<!--#include virtual="/server/bottom-notes.zh-cn.html" -->
<div class="translators-credits">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
<b>翻译</b>: 白若玉<br></br>
<b>审校</b>: 刘昭宏<br></br>
<b>翻译团队</b>:<a rel="team"
href="https://savannah.gnu.org/projects/www-zh-cn/">&lt;CTT&gt;</a>,2017,2019,2021。</div>

<p class="unprintable"><!-- timestamp start -->
最后更新:

$Date: 2021/11/03 05:45:47 $

<!-- timestamp end -->
</p>
</div>
</div>
<!-- for class="inner", starts in the banner include -->
</body>
</html>